高端大气网站欣赏,关键词免费,怎么网站排名seo,广州公共资源交易面试官#xff1a;css选择器有哪些#xff1f;优先级#xff1f;哪些属性可以继承#xff1f; 一、选择器
CSS选择器是CSS规则的第一部分
它是元素和其他部分组合起来告诉浏览器哪个HTML元素应当是被选为应用规则中的CSS属性值的方式
选择器所选择的元素#xff0c;叫做…面试官css选择器有哪些优先级哪些属性可以继承 一、选择器
CSS选择器是CSS规则的第一部分
它是元素和其他部分组合起来告诉浏览器哪个HTML元素应当是被选为应用规则中的CSS属性值的方式
选择器所选择的元素叫做“选择器的对象”
我们从一个Html结构开始
div idboxdiv classonep classone_1/p p classone_1/p /divdiv classtwo/divdiv classtwo/divdiv classtwo/div
/div关于css属性选择器常用的有 id选择器#box选择id为box的元素 类选择器.one选择类名为one的所有元素 标签选择器div选择标签为div的所有元素 后代选择器#box div选择id为box元素内部所有的div元素 子选择器.oneone_1选择父元素为.one的所有.one_1的元素 相邻同胞选择器.one.two选择紧接在.one之后的所有.two元素 群组选择器div,p选择div、p的所有元素
还有一些使用频率相对没那么多的选择器
伪类选择器
:link 选择未被访问的链接
:visited选取已被访问的链接
:active选择活动链接
:hover 鼠标指针浮动在上面的元素
:focus 选择具有焦点的
:first-child父元素的首个子元素伪元素选择器
:first-letter 用于选取指定选择器的首字母
:first-line 选取指定选择器的首行
:before : 选择器在被选元素的内容前面插入内容
:after : 选择器在被选元素的内容后面插入内容属性选择器
[attribute] 选择带有attribute属性的元素
[attributevalue] 选择所有使用attributevalue的元素
[attribute~value] 选择attribute属性包含value的元素
[attribute|value]选择attribute属性以value开头的元素在CSS3中新增的选择器有如下
层次选择器p~ul选择前面有p元素的每个ul元素伪类选择器
:first-of-type 表示一组同级元素中其类型的第一个元素
:last-of-type 表示一组同级元素中其类型的最后一个元素
:only-of-type 表示没有同类型兄弟元素的元素
:only-child 表示没有任何兄弟的元素
:nth-child(n) 根据元素在一组同级中的位置匹配元素
:nth-last-of-type(n) 匹配给定类型的元素基于它们在一组兄弟元素中的位置从末尾开始计数
:last-child 表示一组兄弟元素中的最后一个元素
:root 设置HTML文档
:empty 指定空的元素
:enabled 选择可用元素
:disabled 选择被禁用元素
:checked 选择选中的元素
:not(selector) 选择与 selector 不匹配的所有元素属性选择器
[attribute*value]选择attribute属性值包含value的所有元素
[attribute^value]选择attribute属性开头为value的所有元素
[attribute$value]选择attribute属性结尾为value的所有元素二、优先级
相信大家对CSS选择器的优先级都不陌生 内联 ID选择器 类选择器 标签选择器 到具体的计算层⾯优先级是由 A 、B、C、D 的值来决定的其中它们的值计算规则如下 如果存在内联样式那么 A 1, 否则 A 0 B的值等于 ID选择器出现的次数 C的值等于 类选择器 和 属性选择器 和 伪类 出现的总次数 D 的值等于 标签选择器 和 伪元素 出现的总次数
这里举个例子
#nav-global ul li a.nav-link套用上面的算法依次求出 A B C D 的值 因为没有内联样式 所以 A 0 ID选择器总共出现了1次 B 1 类选择器出现了1次 属性选择器出现了0次伪类选择器出现0次所以 C (1 0 0) 1 标签选择器出现了3次 伪元素出现了0次所以 D (3 0) 3
上面算出的A 、 B、C、D 可以简记作(0, 1, 1, 3)
知道了优先级是如何计算之后就来看看比较规则
从左往右依次进行比较 较大者优先级更高如果相等则继续往右移动一位进行比较如果4位全部相等则后面的会覆盖前面的
经过上面的优先级计算规则我们知道内联样式的优先级最高如果外部样式需要覆盖内联样式就需要使用!important
三、继承属性
在css中继承是指的是给父元素设置一些属性后代元素会自动拥有这些属性
关于继承属性可以分成
字体系列属性
font:组合字体
font-family:规定元素的字体系列
font-weight:设置字体的粗细
font-size:设置字体的尺寸
font-style:定义字体的风格
font-variant:偏大或偏小的字体文本系列属性
text-indent文本缩进
text-align文本水平对刘
line-height行高
word-spacing增加或减少单词间的空白
letter-spacing增加或减少字符间的空白
text-transform控制文本大小写
direction规定文本的书写方向
color文本颜色元素可见性
visibility表格布局属性
caption-side定位表格标题位置
border-collapse合并表格边框
border-spacing设置相邻单元格的边框间的距离
empty-cells单元格的边框的出现与消失
table-layout表格的宽度由什么决定列表属性
list-style-type文字前面的小点点样式
list-style-position小点点位置
list-style以上的属性可通过这属性集合引用
quotes设置嵌套引用的引号类型光标属性
cursor箭头可以变成需要的形状继承中比较特殊的几点 a 标签的字体颜色不能被继承 h1-h6标签字体的大下也是不能被继承的
无继承的属性 display 文本属性vertical-align、text-decoration 盒子模型的属性宽度、高度、内外边距、边框等 背景属性背景图片、颜色、位置等 定位属性浮动、清除浮动、定位position等 生成内容属性content、counter-reset、counter-increment 轮廓样式属性outline-style、outline-width、outline-color、outline 页面样式属性size、page-break-before、page-break-after
参考文献
https://www.html.cn/qa/css3/13444.htmlhttps://developer.mozilla.org/zh-CN/docs/Learn/CSS/Building_blocks/Selectorshttps://github.com/ytanck/ytanck.github.io/issues/78