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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker(2)CentOS 7安装docker环境[通俗易懂]

    docker(2)CentOS 7安装docker环境[通俗易懂]前言前面一篇学了mac安装docker,这篇来学习在linux上安装docker环境准备Docker支持以下的CentOS版本,目前,CentOS仅发行版本中的内核支持Docker。Doc

    2022年7月29日
    9
  • 申请测试微信公众号流程_如何申请免测

    申请测试微信公众号流程_如何申请免测申请测试微信公众号申请的地址:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/ind

    2022年8月5日
    8
  • 快速生成数据库ER图的方式[通俗易懂]

    快速生成数据库ER图的方式[通俗易懂]dbdiagram简述快速简单的数据库模型设计工具,可以帮助您使用其自己的特定于域的语言(DSL)来绘制数据库图。最主要的是免费。dbdiagram地址https://dbdiagram.io/dbdiagram效果Draw.io简介对于基于Web的使用免费,对于Atlassian(Confluence/JIRA)应用则需要付费。特点Draw.io是一个免费的在线图表软件,用于制作流程图,流程图等。允许使用不同类型的图表,例如流程图,组织结构图,UML,ER和网络图。允许

    2022年6月21日
    229
  • pycharm安装配置环境_如何在pycharm中配置anaconda

    pycharm安装配置环境_如何在pycharm中配置anacondapycharm安装及配置(anaconda)pycharm的下载与安装jetbrains官网开发者工具找到pycharm下载专业版等待下载完成anaconda的下载与安装anaconda官网 滑到页面最下方选择合适的版本,开始下载双击开始安装这里选择所有用户或者仅自己都行这里勾选上添加环境变量,就不用自己配置了查看开始菜单安装成功安装配置pycharm双击以后再重启,直接finish启动pycharm这里需要进行一下激活,我这里就用

    2022年8月29日
    4
  • HNUSTOJ-1543 字符串的运算再现

    HNUSTOJ-1543 字符串的运算再现

    2022年3月6日
    41
  • glPushMatrix和glPopMatrix的作用

    glPushMatrix、glPopMatrix操作其实就相当于栈里的入栈和出栈。  许多人不明白的可能是入的是什么,出的又是什么。例如你当前的坐标系原点在你电脑屏幕的左上方。现在你调用glPushMatrix,然后再调用一堆平移、旋转代码等等,然后再画图。那些平移和旋转都是基于坐上角为原点进行变化的。而且都会改变坐标的位置,经过了这些变化后,你的坐标肯定不再左上角了。  那如果想

    2022年4月6日
    60

发表回复

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

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