css3选择器总结[通俗易懂]

css3选择器总结[通俗易懂]三大特性继承性:子标签继承父标签样式,默认优先级最低。有继承性:文本相关字体样式、粗细、大小、颜色、类型等无继承性:盒子模型相关边框、背景等层叠性:相同标签继承和定义的样式累加到一起互不冲突。优先级:离标签越近的选择器优先级越高,所以相同权重的样式后者才生效;内联样式表>头部样式表>导入样式表。权重权重为0000:通用选择器*{}组选择器h1,h2,

大家好,又见面了,我是你们的朋友全栈君。

三大特性

继承性:子标签继承父标签样式,默认优先级最低。
有继承性:文本相关字体样式、粗细、大小、颜色、类型等
无继承性:盒子模型相关边框、背景等
层叠性:相同标签继承和定义的样式累加到一起互不冲突。
优先级:离标签越近的选择器优先级越高,所以相同权重的样式后者才生效;内联样式表>头部样式表>导入样式表。

权重

权重为0000:
通用选择器* {}

组选择器h1, h2, p, em, img {}

后代选择器h1 em{}

子代选择器table>tbody>tr{}

分类选择器div.top,header.main{}

+相邻兄弟选择器: div.s+p{} 只能选择后面的

~通用兄弟选择器: div.s~p{} 只能选择后面的

权重为0001:

标签选择器h3 em {}

:first-letter每段首字符(css2不兼容,css3兼容)

:first-line每行首字符

当:first-letter和:first-line矛盾时优先:first-letter

:before

:after

:content

::selection用户在页面中选中部分(只能改颜色和背景颜色)

权重0010:

类(class)选择器 .special {}

伪类选择器:  :link   :visited   :hover   :active   :focus

元素状态伪类:   :enabled   :disabled   :checked   :focus

属性选择器:[属性]   元素[属性][属性]   元素[属性=“value”]

p=[class^=”value”] p=[class*=”value”] p=[class$=”value”]

元素[class~=”value”]匹配class=”c1 c2 c3 c4”众多值中某一个

目标伪类:img:target{}匹配id或name的value,写在跳转目标的标签后

:target{} <a href=”#hehe”>点此<a>    <a name=”hehe”>跳此</a>   <img id=”hehe”>跳此</img>

结构伪类:(父元素下的子元素中,必须先选中父元素)

:first-child    :last-child    :nth-child(n)

:nth-child(even|2n)选择偶数子元素 :nth-child(odd|2n-1)//奇数

:empty 空格换行不算空,匹配同级元素中一个子元素都没有的元素

:only-child匹配同级元素中只有一个子元素的元素

否定伪类::not()

权重0100:

ID选择器 #banner

权重1000:

!important p{color:blue !important;}

综合实例

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="UTF-8">
<style>
	#blogs.blogs>#blog.blog>p{color:yellow;}/*权重:100+10+100+10+1*/
	span{color:blue !important;}/*权重:1+1000*/
	#blogs span{color:green;}/*权重:100+1*/
	.blogs h1{background-color:blue;}/*权重:10+1*/
	.blogs .blog h1{background-color:yellow;}/*权重:10+10+1*/
	h1{background-color:gray;}/*权重:1*/
</style>
</head>
<body>
	<div id="blogs" class="blogs">
		<div id="blog" class="blog">
			<!-- 权重:内联最高 -->
			<h1 style="background-color:gray;">第一篇博客</h1>
			<p><span>this</span> is my first blog.</p>
		</div>
	</div>
</body>
</html>


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157449.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 梯度下降算法原理及其计算过程

    梯度下降算法原理及其计算过程1 写在前面还记得以前刚开始学习 AI 的时候 遇到了梯度下降算法 一直对很多概念搞不清楚 包括后来很长的一段时间也不是很明白梯度下降的实现原理 看了很多博客文章都是一知半解 总是有很多疑惑不能搞清楚 而且绝大多数的文章都是生涩的数学公式推理 对于像我这样的数学渣渣来说 理解梯度下降的确有难度 所以前段时间又重新回顾了一下梯度下降算法 结合网上不同来源的资料的学习总结 写了这篇博客 希望对同样刚刚接

    2025年12月11日
    7
  • vue删除数组中指定元素_如何删除数组中的元素

    vue删除数组中指定元素_如何删除数组中的元素vue删除数组中指定的元素exportdefault{ data(){ return{ mpList:[‘测试一’,’测试二’,’测试三’] } }, methods:{ del(item){ letlistVar=newArray for(leti=0;i<this.mpList.length;i++){ listVar.push(this.mpList) if(this.mpList[i]==item){

    2022年8月10日
    6
  • JSON入门

    JSON入门

    2022年3月13日
    63
  • 投影矩阵 视图模型矩阵「建议收藏」

    投影矩阵 视图模型矩阵「建议收藏」
        OpenGL在设置场景时,要用到两个矩阵:投影矩阵和模型视图矩阵通过glMatrixMode来指定下面的矩阵操作是针对哪一个矩阵进行的。
        gluLookatup,glTranslate,glRotate,glScale,glOrtho,gluPerspective等函数只根据其参数计算出一个矩阵M,然后与当前的栈顶元素T相乘;但这些函数本身不能自动找到应该对应的矩阵堆栈,你可以将它们放在任何矩阵堆栈操作中,比如可以将gluLookatup放在glMat

    2022年5月14日
    37
  • unittest测试框架搭建_开源自动化测试框架

    unittest测试框架搭建_开源自动化测试框架本文采用unittest测试框架搭建一个简单的自动化测试实例,完成readmine网站的登录和新建项目用例,并生成测试报告。test_login文件importunittestfromseleniumimportwebdriverclassTestStorm(unittest.TestCase):defsetUp(self):self.driver=webdriver.Chrome()self.driver.get(“http://d

    2022年8月31日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号