GVKun编程网logo

CSS常用选择器(css中常用选择器)

10

如果您想了解CSS常用选择器和css中常用选择器的知识,那么本篇文章将是您的不二之选。我们将深入剖析CSS常用选择器的各个方面,并为您解答css中常用选择器的疑在这篇文章中,我们将为您介绍CSS常用选

如果您想了解CSS常用选择器css中常用选择器的知识,那么本篇文章将是您的不二之选。我们将深入剖析CSS常用选择器的各个方面,并为您解答css中常用选择器的疑在这篇文章中,我们将为您介绍CSS常用选择器的相关知识,同时也会详细的解释css中常用选择器的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

CSS常用选择器(css中常用选择器)

CSS常用选择器(css中常用选择器)

p:first-child 选择属于其父元素的首个子元素的每个 <p> 元素

<body>
<p>这个段落是其父元素(body)的首个子元素。</p> //选择 <h1>欢迎访问我的主页</h1> <p>这个段落不是其父元素的首个子元素。</p> <div> <p>这个段落是其父元素(div)的首个子元素。</p> //选择 <p>这个段落不是其父元素的首个子元素。</p> </div> <p><b>注释:</b>对于 IE8 及更早版本的浏览器中的 :first-child,必须声明 <!DOCTYPE>。</p>
<body>
.formdata >>> .el-form-item__content:first-child {
  text-align: right;
}
p:last-child指定属于其父元素的最后一个子元素的 p 元素
<body>
<h1>这是标题</h1>
<p>第一个段落。</p>
<p>第二个段落。</p>
<p>第三个段落。</p>
<p>第四个段落。</p>
<p>第五个段落。</p>
</body>

 

总结

以上是小编为你收集整理的CSS常用选择器全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

原文地址:https://www.cnblogs.com/liangyingqi/p/16332921.html

css – 通用选择器*和伪元素

css – 通用选择器*和伪元素

通用选择器*是否影响伪元素,如:before和after?

让我用一个例子:

这样做时

* { Box-sizing: border-Box; }

…以上声明不会自动包含/影响伪元素,如:之前和之后?

或者,为了影响伪元素,如:之前和之后,一个必须声明?

*,*:before,*:after { Box-sizing: border-Box; }

这是否有意义?

我一直使用* {Box-sizing:border-Box; }并且从来没有对伪元素有任何问题.但是,我看到许多教程做*,*:之前,*:之后,但他们从来没有真正解释为什么包括*:before,*:after在声明中.

解决方法

不,通用选择器*不影响伪元素(除了通过 inheritance间接,因为伪元素通常作为实际元素的子元素生成).

通用选择器,像其他命名的元素选择器,如p和div,是一个simple selector:

A simple selector is either a type selector,universal selector,attribute selector,class selector,ID selector,or pseudo-class.

一个简单的选择器,通过扩展任何复杂的选择器,只针对实际元素.

虽然伪元素(与上述伪类不一样)可以以简单选择器的选择符表示法出现,但伪元素与represent abstractions of the DOM that are separate from actual elements完全独立于简单选择器,因此它们都代表不同的东西.您不能使用简单选择器匹配伪元素,也不能将样式应用于CSS规则中的实际元素,其选择器中包含伪元素.

所以,为了匹配:before和:之后的任何元素的伪元素,是的,将需要在选择器中包括*:before,*:after.只有* {Box-sizing:border-Box; }不会影响它们,因为通常不会继承框大小,因此,它们将保留默认的Box-size:content-Box.

您可能永远不会对伪元素发生任何问题的一个可能原因是它们默认显示为内联,因为框大小对内联元素没有任何影响.

一些注释:

>与任何其他简单选择器链一样,如果*不是唯一的组件,那么您可以将其退出,这意味着*,:之前,之后等于*,*:before,*:after.就是说,为了清楚起见,通常包含*,大多数作者习惯于在编写ID和类选择器时离开*,而不是伪类和伪元素,因此符号可能看起来很奇怪,甚至错误对他们(实际上是完全有效的).
>我链接到上面的当前选择器规范表示具有双冒号的伪元素.这是在当前规范中引入的新的符号,以区分伪元素和伪类,但是大多数框大小重置使用单个冒号表示法来适应IE8,它支持框大小,但不支持双符号.
>虽然*:before,*:在将样式应用于包含html,head和body的任何元素的各个伪元素之后,在应用content属性之前,实际不会生成伪元素.您不必担心任何性能问题,因为没有.有关详细的解释,请参阅我的答案this related question.

css – 通用选择器,如何排除某些元素

css – 通用选择器,如何排除某些元素

在构建博客后,最后一部分是制作一个通用选择器,当鼠标悬停在它上面时,会突出显示黄色元素.但是我们需要从该行为中排除body和html等元素.
我启动这个

*:hover { background-color:yellow }

如何从通用选择器中排除元素?

解决方法

如果要排除html / body等根元素,可以选择其中的所有元素.

在这种情况下,以下任何一种都可以工作:

html body *:hover { background-color: yellow }
body *:hover { background-color: yellow }
* * *:hover { background-color: yellow }
:root * *:hover { background-color: yellow }

要排除其他元素,可以使用:not() pseudo-class来否定它们.

例如,您可以向元素添加.excluded类.

html body *:not(.excluded):hover { background-color: yellow }

但这会有问题,因为通用选择器将应用于所有元素,包括嵌套在.excluded元素中的元素.

如果body元素中有任何嵌套元素,则background-color将无意中显示为应用于子元素,即使它们仅包含.excluded类,因为background-color已添加到父元素.

您可以考虑使用直接子组合器,>在某种程度上防止这种情况.

html body > *:not(.excluded):hover { background-color: yellow }

当然,这假设您只希望将背景颜色应用于body元素中的直接子元素.

总之,您应该尽可能避免使用通用选择器.

css – 通用选择器如何在这里工作?

css – 通用选择器如何在这里工作?

* { font-weight: normal; }
#stockTicker { font: 12px Verdana; }
.corpname { font-weight: bold; }
.stockUp { color: red; }

<div id="section">
   NYS: <spanhttps://www.jb51.cc/tag/rpn/" target="_blank">rpname"><span>GE</span></span> +1.0 ...
</div>

当.corpname在样式的后期出现并且具有更高的特异性时,为什么通用选择器在这里得到最后的发言权?

JSfiddle:http://jsfiddle.net/zackgao/2q9Wh/

解决方法

CSS指定属性的指定值来自级联,继承或属性的初始值,以该优先级顺序( CSS spec).

由于*适用于< span class =“stockUp”>在级联期间,不考虑继承的值.

直接在< span class =“corpname”>内的文本元素将按照您的预期进行样式化,因为corpname类会在级联期间击败*.

Css 常用选择器

Css 常用选择器

后代选择器
    ul li{border:1px solid red;}

儿子选择器
    ul>li{border:1px solid red;}
		
相邻选择器:找紧跟在ul后面的指定元素
    ul+div{border:1px solid red;}
		
兄弟选择器:找ul后面所有的兄弟div

属性选择器
    li[title]{color:red;}
    常用
        li[title=''yes'']{color:red;}
        li[abc]{color:blue;}

以空格切开包含red的
        li[class~=''red'']{color:yellow;}
    以y开始的
        li[title^=''y'']{color:green;}
    以o结尾的
        li[title$=''o'']{color:green;
    包含e的
        li[title*=''e'']{color:green;}
        li[class|=''header'']{color:green;}

    找大儿子
        ul li:first-child{color:red;}
    找小儿子
        ul li:last-child{color:red;}
    找第几个儿子,下标从1开始
        ul li:nth-child(2){color:red;}
		
    获取焦点
        input:focus{border:3px solid red;}
        input:checked + span{
            margin-left:50px;
            color:red;
        }

    在元素的前面追加文本或者样式,不能识别html标签;必须配合content使用
        #p::before{
            content:''<a href="">《</a>'';
            content:'''';
            color:red;
            margin-right:30px;
        }
        #p::after{
            content:''》'';	
        }
	
    设置文本选中的时候的样式
        #p::selection{
            background:#f66;
            color:whit
        }

关于CSS常用选择器css中常用选择器的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于css – 通用选择器*和伪元素、css – 通用选择器,如何排除某些元素、css – 通用选择器如何在这里工作?、Css 常用选择器等相关知识的信息别忘了在本站进行查找喔。

本文标签: