您现在的位置是:网站首页> 编程资料编程资料
css核心基础总结篇(推荐)HTML5跨浏览器纯CSS工具提示特效源码纯CSS3 3D魔方翻转动画特效源码css3实现渐变、阴影、超出指定文本省略号显示等一些效果实例纯CSS3实现的时尚进度条UI设计效果源码纯js和CSS3分散式宝丽来图片画廊浅谈css之属性及剩余的选择符
2021-09-04
867人已围观
简介 下面小编就为大家带来一篇css核心基础总结篇(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
今日这篇是整合前面的css补充知识的。
我觉得前面的关于css的知识补充进去有点乱,今日整理整理一下。
层叠样式表
层叠是什么意思?为什么这个词如此重要,以至于要出现在它的名称里。
层叠可以简单地理解为冲突的解决方案。
什么是冲突?
就是同个元素在使用不同的选择器选择中后添加相同的样式。
优先级规则可以表述为
行内样式>ID样式>类别样式>标记样式
在复杂的页面中,某一个元素有可能会从很多地方获取样式,例如一个网站的某一
级标题整体设置为使用绿色,而对某个特殊栏目需要使用蓝色,这样在栏目中就需
要覆盖通用的样式设置。在很简单的页面中,这样的特殊需求实现起来不会很难,
但是如果网站的结构很复杂,就完全有可能代码变得非常混乱,可能出现无法找到
某个元素的样式来自于哪条规则的情况。因此,必须要充分理解css中“层叠”的原理。
计算冲突样式的优先级是一个比较复杂的过程,并不仅仅是上面这个简单的优先级规则
可以完全描述的。但是读者可以把一个大的原则,就是“越特殊的样式,优先级越高”。
而这个怎么样才是特殊且越特殊怎么定位,请接着看以下的内容。
特殊性:
每个选择器都有特殊性,而如果一个元素有两个或多个冲突的属性声明,特殊性高的胜出。
选择器的特殊性由选择器本身的组件确定。特殊性值表述为4个部分,如:0,0,0,0.
一个选择器的具体特殊性如下确定:
对于选择器中给定的各个ID属性值,则在第二个部分加一:0,1,0,0。
对于选择器中给定的各个类属性值、属性选择或伪类,则在第三个部分加一:0,0,1,0。
对于选择器中给定的各个元素和伪元素,则在第四个部分加一:0,0,0,1。
结合符和通配选择器对特殊性没有任何贡献。
但通配选择器特殊性为零 : 即0,0,0,0。
结合符连零都没有。
例子:
h1{color:red;} 为0,0,0,1
p em{color:purple} 为0,0,0,2
.grape{color:purple} 为0,0,1,0
p.b e.a{color:red; } 0,0,2,2
#aa{color:red;} 0,1,0,0
div#aa *[href]{color:red;} 0,1,1,1
而第一个0是为行内样式准备的,因为越前面,代表优先级越高,假如非零数字位置一样,那么先比较前面的数字的大小,
然后再往下比较,直到数字不相对,取数字大那个的优先级高。
所以才有上面的那个大致优先级规则:
行内样式>ID样式>类别样式>标记样式
它们刚刚好可以作为每个部分的代表,也是四个,对号入座。
重要声明 !important ,就是把你所需要的声明标出来,它的优先级最高,不过它要放在声明的值的最后。
继承:
继承的特殊性连零都没有,就是没有特殊性;
这个0特殊性有零与无特殊性有很大的区别,就是0特殊性的选择器可以为后代加样式,
而继承虽然也有给后代加样式,但有限制的,只有有继承能力的才能加到后代元素中,如color等,而margin、padding和border这些属性都不会加到后代里。
相同权重的,按顺序比较,顺序越下他的优先级最高。
较高特殊性强于较低特殊性
所以伪类声明顺序:link-visited-hover-active
LVHA(简写)
当:visited在他们之后时,由于权重一样,所以会看他们的顺序,而:visited在他们之后会胜出。
当不是写统一属性就不会出现这种问题。所以写同一种属性时要注意 !!!!
以上是css的核心基础。
扩充这篇知识之外:
包含块:
包含块的宽就是所包含的元素的父级的宽度,而父级的宽度就是包含在里面的各个元素的
margin-left + border-left + padding-left + width + padding-right + border-right + margin-right=包含块水平宽
width、margin-left、margin-right都可以设置auto;
而margin-left和margin-right同时设置auto,会在居中,但这是有条件的:
1、这个元素必须是块级元素并且没有脱离文档流
2、这个元素有设置宽度
margin-top、margin-bottom设置auto是不会垂直居中,设置成auto,它们只会等于零。
水平总长度的七大属性,这七个属性就是上面计算公式的属性,他们的总和不能大于水平总长度,而margin能为负值,在计算上也不违反这个规则。
注意:只有margin能为负值。
至于margin为负值时什么样的,自己去体验,这个属性看起来挺犯规的。
以上这篇css核心基础总结篇(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
相关内容
- 浅谈CSS中的继承性,特殊性,层叠性和重要性CSS中选择器的权重值的计算css 权重值(层叠性)实例详解
- 使用CheckBox的属性制作纯css动态导航栏 CSS利用伪元素实现导航栏斜线分隔基于html和CSS3制作简单侧边导航栏基于html和CSS3制作酷炫的导航栏CSS3的一个简单导航栏实现css控制列表与导航的制作(水平导航条、垂直翻转的列表、垂直导航栏、内纯css实现的下拉导航栏附html结构及css样式css3与html5实现响应式导航菜单(导航栏)效果分享css 等宽导航栏设计技巧仿支付宝CSS网站导航栏
- 关于css 行元素和块元素 相互转换 居中
- css position 设置元素的定位方式详解浅谈CSS中display/float/position属性值的相互影响css(display,float,position)深入理解CSS position:absolute全面了解CSS 定位之position全面了解使用CSS3的ruby-position固定注音位置的用法示例总结CSS的position定位属性在使用的一些重点css关于position属性的用法详解(绝对定位和相对定位的混淆)
- css渐变色彩 省略标记 嵌入字体 文本阴影全面了解CSS3中新增的对文本和字体的设置CSS 文本字体颜色设置方法(CSS color)CSS 有序或者无序列表的前面的标记 list-style-type 属性的实现CSS如何设置列表样式属性(看这篇文章就够用了)CSS字体、文本、列表属性详细介绍
- CSS样式覆盖规则全面了解纯CSS3绘制各种不规则图形图标样式特效源码权重和层叠规则决定了CSS样式优先级CSS教程:网页中多个样式表顺序问题css样式层叠规则详解
- 浅谈CSS样式权值CSS样式覆盖规则全面了解引用css样式的书写格式详解Web前端开发css基础样式总结(推荐)纯CSS3超酷书架样式404页面特效源码css 常用样式(分享)
- 浅析word-break work-wrap的区别CSS word-wrap同word-break的区别 CSS的Word_break、Word_Wrap的区别及应用word-break:break-all和word-wrap:break-word区别总结
- select元素中设置padding效果的方法在IE8 FF中使用padding设置select控件文字垂直居中
- CSS实现三角效果的简单实例CSS3 画基本图形,圆形、椭圆形、三角形等用CSS制作三角形和按钮的简单实例CSS仿网易首页的头部菜单栏按钮和三角形制作方法使用css实现三角符号效果