相关疑难解决方法(0)

为什么将*选择器与*:: before和*:: after结合使用

我正在看Twitter的bootstrap框架,我确实有一个非常小的问题.

我将看到以下部分,以便将盒子模型设置为border-box.

*, *::after, *::before { box-sizing: border-box; }
Run Code Online (Sandbox Code Playgroud)

但是如果你看一下CSS规范的*目标是所有元素,那么为什么选择使用*::after*::before选择器呢?

对我来说,这似乎已经过时了,因为*选择器已经标记了所有元素.

css css-selectors twitter-bootstrap

20
推荐指数
3
解决办法
3252
查看次数

通用选择器*和伪元素

通用选择器是否*影响像:before和的伪元素:after

让我举一个例子:

这样做时:

* { box-sizing: border-box; }
Run Code Online (Sandbox Code Playgroud)

......没有上述声明包括自动/影响伪元素,如:before:after呢?

或者,为了影响像:before和的伪元素:after,必须声明这个?

*, *:before, *:after { box-sizing: border-box; }
Run Code Online (Sandbox Code Playgroud)

这有意义吗?


我总是使用just * { box-sizing: border-box; }而且从来没有任何关于伪元素的问题.但我看到许多教程正在做,*, *:before, *:after但他们从未真正解释为什么它们包含*:before, *:after在声明中.

css css-selectors pseudo-element

17
推荐指数
2
解决办法
2548
查看次数

为什么<fieldset>是明确的浮动?

考虑以下测试用例,其中浮动元素和内联元素放置在一个<fieldset>对比<div>:

<!DOCTYPE html>
<html>
<head>
    <style type="text/css">
        .float {float:right; background-color:red; height:200px;}
    </style>
</head>
<body>
<fieldset>
    <span>Inline!</span>
    <div class="float">Float!</div>
 </fieldset>
<fieldset>
    <span>Inline!</span>
    <div class="float">Float!</div>
</fieldset>

<div>
    <span>Inline!</span>
    <div class="float">Float!</div>
</div>
<div>
    <span>Inline!</span>
    <div class="float">Float!</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

渲染时,场集是200像素高(它们清除浮点数?),而div只有内联元素高.这种行为的原因是什么,是否有一种解决方法允许字段集的行为与div一样?

html css forms fieldset css-float

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