小编Lir*_*n H的帖子

我可以重置CSS属性而不是覆盖它吗?

我正在处理的网页已经有一些基本样式表,其中一个包含这个规则:

address:not(:last-child), 
fieldset:not(:last-child), 
li:not(:last-child), 
ol:not(:last-child), 
p:not(:last-child), 
table:not(:last-child), 
ul:not(:last-child) {margin-bottom: 12px}
Run Code Online (Sandbox Code Playgroud)

这是在我的<p class="mainCopy">标签上应用12px margin-bottom ,我对此并不感兴趣.我希望能够覆盖它.mainCopy {margin-bottom: 0},但显然基本规则比我的规则更具体.这迫使我制定一个比我想要或更需要的规则,例如p.mainCopy.此外,我有时需要<li class="mainCopy">,这将迫使我添加第二条规则,以满足这一要求<li>.

有什么办法可以简单地重置这个属性,还是还原有问题的CSS声明?

html css

41
推荐指数
4
解决办法
2915
查看次数

在 Cypress 中多次拦截相同的 API 调用

是否可以cy.intercept在同一个测试中多次拦截同一个 API 调用?我尝试了以下方法:

cy.intercept({ pathname: "/url", method: "POST" }).as("call1")
// ... some logic
cy.wait("@call1")

// ... some logic

cy.intercept({ pathname: "/url", method: "POST" }).as("call2")
// ... some logic
cy.wait("@call2")
Run Code Online (Sandbox Code Playgroud)

我预计cy.wait("@call2")会等待第二次调用 API。但是,第二个cy.wait将立即继续,因为第一个 API 调用与第二个相同。

javascript api alias cypress

28
推荐指数
3
解决办法
4万
查看次数

material-ui makeStyles:如何按标签名称设置样式?

我想为<p>当前组件中的所有人添加规则。我在任何地方都找不到有关如何按标签名称添加 CSS 规则的信息(material-ui 文档、Stack Overflow 等)。

不支持吗?

我正在尝试做这样的事情:

const useStyles = makeStyles((theme: Theme) =>
    createStyles({
        'p': {
            margin: 0,
        },
        someClass: {
            fontSize: 14,
        },
    })
);
Run Code Online (Sandbox Code Playgroud)

编辑:

使用 Ryan 的解决方案有效,但会产生一个新问题:

import React from 'react';
import { makeStyles, Theme, createStyles } from '@material-ui/core';

const useStyles = makeStyles((theme: Theme) =>
    createStyles({
        root: {
            '& p': {
                margin: 0,
            },
        },
        // I want this rule to override the rule above. It's not possible in the current configuration, because `.root …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs material-ui jss

10
推荐指数
1
解决办法
5649
查看次数

webpack导入的模块不是构造函数

我创建了一个小JS模块,打算制作一个npm包,但目前仅在GitHub上。该模块是用ES6和SCSS编写的,因此依赖于webpack和babel进行编译。

为了测试它,我创建了一个具有类似设置(webpack和babel)的单独项目。npm安装模块后,尝试将其导入到index.js中时,我在Chrome开发者工具中收到以下错误:(其中x为模块名称)

index.js:11 Uncaught TypeError: x__WEBPACK_IMPORTED_MODULE_1___default.a is not a constructor
    at eval (index.js:11)
    at Object../src/index.js (main.js:368)
    at __webpack_require__ (main.js:20)
    at eval (webpack:///multi_(:8081/webpack)-dev-server/client?:2:18)
    at Object.0 (main.js:390)
    at __webpack_require__ (main.js:20)
    at main.js:69
    at main.js:72
Run Code Online (Sandbox Code Playgroud)

我浏览了无数的答案,并尝试了无数的解决方案,但没有成功。我的模块的设置如下。

.babelrc

{
  "presets": [
    ["env", {
      "targets": {
        "browsers": ["ie >= 11"]
      }
    }]
  ],
  "plugins": [
    "transform-es2015-modules-commonjs",
    "transform-class-properties"
  ]
}
Run Code Online (Sandbox Code Playgroud)

webpack.common.js

const path = require('path')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const cleanWebpackPlugin = require('clean-webpack-plugin')

const baseSCSS = new ExtractTextPlugin('main/_base.css')
const themeSCSS = new …
Run Code Online (Sandbox Code Playgroud)

javascript babel npm webpack es6-modules

9
推荐指数
3
解决办法
2万
查看次数

jQuery .prop()返回undefined,而.attr()按预期工作 - 数据 - *

我只想从两个元素中获取几个属性.valueinput元素获取属性按预期工作.问题是data-detailbutton元素获取属性属性.它undefined在使用时返回.prop(),但在使用时按预期工作.attr().

任何人都可以解释我目睹的这种奇怪的行为吗?

HTML

<div class="formRow">
    <label for="firstName">First name</label>
    <div class="detailsControlBtns">
        <button id="editFirstName" class="btn ctaBtn greenBtn editBtn">Edit</button>
        <button class="btn ctaBtn greenBtn saveBtn" data-detail="firstName">Save</button>
        <button id="closeFirstName" class="btn ctaBtn greyBtn closeBtn">Close</button>
    </div>
    <input type="text" id="firstName" name="firstName" value="[+firstName+]" readonly>
</div>
Run Code Online (Sandbox Code Playgroud)

JS

$(".saveBtn").on("click", function() {
    var saveBtn = $(this);
    // The following statement yields undefined. When using .attr() it works as expected.
    var detail = saveBtn.prop("data-detail");
    var relevantInput = saveBtn.parent().next();
    // …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery prop attr

7
推荐指数
1
解决办法
6930
查看次数

CSS:2016年使用嵌套媒体查询是否安全?

我发现有关嵌套媒体查询的所有主题都已有几年历史了.

随着CSS3的广泛传播,现在认为嵌套媒体查询在生产中是否可以安全使用?

任何支持CSS3的浏览器是否完全支持嵌套媒体查询?或者情况并非总是如此?在这种情况下,哪些浏览器不支持嵌套媒体查询?

编辑:

用于说明的嵌套媒体查询示例:

@media screen and (min-width: 1024px) {
   body {
       background-color: blue;
   }

   @media (-webkit-min-device-pixel-ratio: 1.5) {
       body {
           background-color: red;
       }
   }
}
Run Code Online (Sandbox Code Playgroud)

css css3 media-queries

5
推荐指数
1
解决办法
953
查看次数

当缩放元素在缩放之前大于容器时,CSS 变换比例(向下)不会使用 margin 0 auto 将元素居中

看起来,当缩小以前不适合其容器的元素时,margin: 0 auto将不再将元素置于其父级中(请注意,使用transform-origin: center center并不能解决此问题)。这是因为自动边距似乎在缩放之前而不是之后应用(我期望后者)。

在玩这个时,我最终设法将元素在其容器内居中,但仅使用绝对定位:

position: absolute;
transform: translateX(-50%) scale(0.5, 0.5);
left: 50%;
Run Code Online (Sandbox Code Playgroud)

这是一种非常流行的技术,但在这种特殊情况下,将 translateX 函数放在缩放函数之前非常重要,因为它们是按定义的顺序执行的。

以下是说明该问题的代码片段(也在 CodePen 上: https: //codepen.io/liranh85/pen/qVewQp

position: absolute;
transform: translateX(-50%) scale(0.5, 0.5);
left: 50%;
Run Code Online (Sandbox Code Playgroud)
.container {
  border: 3px solid black;
  width: 500px;
  height: 200px;
  margin: 0 auto;
  position: relative;
}

.scaled {
  background-color: blue;
  width: 600px;
/*   width: 400px; */
  height: 100%;
  transform: scale(0.5, 0.5);
/*   transform: translateX(-50%) scale(0.5, 0.5); */
  margin: 0 auto;
/*   position: absolute; …
Run Code Online (Sandbox Code Playgroud)

html css

5
推荐指数
2
解决办法
1万
查看次数

HTML 范围输入不会更新其值

我在标记中创建了一个范围输入,并将其值设置为 0,如下所示:

<input type="range" min="0" max="100" step="10" value="0">
Run Code Online (Sandbox Code Playgroud)

我想根据其当前值对其进行样式设置。假设我想给它一个 50px 的边距,如果它的值为“10”。我编写了以下简单的 CSS 规则:

[type="range"][value="10"] {
    margin-top: 50px;
}
Run Code Online (Sandbox Code Playgroud)

将范围输入滑动到 10 时,人们希望规则触发,但事实并非如此。然而,在标记中将输入的值设置为“10”时它会触发。

我在这里错过了什么吗?真的没有办法根据用户动态更改的值来设置范围输入的样式,仅使用 CSS 吗?

html css

3
推荐指数
1
解决办法
3232
查看次数

Material UI 组件正在丢失 React-frame-Component 内的样式

我正在尝试实现持久抽屉,可在 Material UI V3 的演示代码中找到。链接如下 https://v3.material-ui.com/demos/drawers/#persistent-drawer

我将它包装在react-frame-component 中,因为我希望它作为一个不同的iframe。当我尝试这样做时,它会呈现演示代码,但它会丢失所有材质 UI 样式。

代码如下

在 PersistentDrawerLeft.jsx 中(代码是从上面给出的链接复制的)

在 MainFile.jsx 中

import React from "react";
import Frame from "react-frame-component";
import PersistentDrawerLeft from "./PersistentDrawerLeft.jsx";

const MainFile = () => {
  
  return (
    <Frame>
        <PersistentDrawerLeft />
    </Frame>
    )
}

export default MainFile;
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?

reactjs material-ui

2
推荐指数
1
解决办法
3440
查看次数

devDependencies 会影响包的大小吗?

我仔细看了看,找不到这个问题的直接答案。

我添加的包devDependencies实际上最终会出现在生产包 JS 文件中并因此影响其大小吗?还是只有dependencies进入捆绑包的那个?

javascript node.js npm webpack

1
推荐指数
1
解决办法
1280
查看次数

标签 统计

javascript ×5

css ×4

html ×4

material-ui ×2

npm ×2

reactjs ×2

webpack ×2

alias ×1

api ×1

attr ×1

babel ×1

css3 ×1

cypress ×1

es6-modules ×1

jquery ×1

jss ×1

media-queries ×1

node.js ×1

prop ×1