CSS样式表及选择器相关内容(一)
CSS(Cascading Style Sheets)层叠样式表
1.CSS级联-CSS层叠:
规定在哪个HTML中使用哪个样式。
body{
font-size:16px; //body默认字体大小
}
2.HTML中css样式的使用方式:
a.外部样式表:
<link rel="stylesheet" type="text/css" href="css文件路径">
<style type="text/css">
/*导入外部样式:放在第一行去导入*/
@import url(./style/div.css);
</style>
b.内部样式表:
<style type="text/css"> </style>
c.行内样式表:
<div style="color:#fff;">
d.@import 导入
可以再css文件中导入css文件也可以在html文件中导入一个css文件
<style type="text/css">
/*导入外部样式:放在第一行去导入*/
@import url(./style/div.css);
div{
color: coral;
}
</style>
3.CSS选择器:选中匹配的元素,然后进行样式的设置(权值、权重、特性值)
*普遍选择器
style属性内:权值:1000
id选择器:权值100
class选择器:权值10 伪类选择器:权值10
标签选择器 div h1:权值1 伪元素选择器 :权值1
空格 + > ~:权值0
组合选择器:div,span
嵌套选择器:div.one class属性值为one的div元素
div .one div后代class属性值为one的元素
后代选择器:
空格:所有后代
> :子代
兄弟选择器:
+:下一个兄弟元素
~:后面的所有兄弟元素
属性选择器:
[attr] 选中标签中还有attr属性的元素
[attr=val] 选中属性值为val的元素
[attr^=val] 选中属性值以val开始的元素
[attr$=val] 选中属性值以val结尾的元素
[attr*=val] 选中属性值中包含val字符串的元素
[attr~=val] 选中属性值中有一个值为val的元素
选择器的优先级:id选择器>class选择器>标签选择器>*普通选择器
4.级联比较
css级联,权重的优先,相同则就近原则
采用就近原则,对于要修饰的元素权值相同,在使用的各种css样式中哪种修饰离标签更近则采用哪种样式来进行修饰(就近原则)
但有一种情况除外:标签自身属性的宽高,若在css样式中重新修饰则会再用css中的样式div1 {color: red;} /*标签,权值为1*/
即:采用样式的优先级:标签自身属性最弱,行内样式最强,而外部样式表、内部样式表、@import导入则采用就近原则(离修饰标签近的优先使用)
注:标签自身属性及标签样式属性
eg:
嵌套选择器:权值累加比较
div1 span {color: green;} /*两个标签,权值为1+1=2*/
div1>span {color: purple;} /*权值与上面的相同,因此采取就近原则*/
.div1 {color: white;} /*类选择符,权值为10*/
div1 span.success {color: purple;} /*权值为1+1+10=12*/
附加知识:
加了!important 那么它的优先级会比较高,将不去看起权值和考虑就近原则,ie6不兼容,无法识,不推荐使用。
eg:
div1 {
color:red !important; /*除了ie6,其他浏览器会认为红色优先级高,显示红色字体*/
color:green; /*ie6浏览器则顺序读取css所以显示绿色*/
}
5.DOM(文件对象模型:document object model)
DOM树:
元素节点、注释节点、属性节点
相关知识点:原生JS JQuery React Vue AngularJS
6.后代选择器
相同标签元素的后代或兄弟元素优先级仍遵从CSS选择器中优先级,与其在样式表中的先后出现顺序无关
采用层次选择器时,优先次序按照其CSS选择器权值累加和的大小来决定,如上第3点:CSS选择器 所示
eg:
<style type="text/css">
/*id为p2的下一个兄弟节点*/
#p2+span{
border: 1px dotted red;
} /*id为p2的所有的兄弟节点*/
/*#p2~*:权值100<#p2+span(权值:100+1) 则其不会覆盖#p2+span中的样式属性*/
#p2~*{
border: 1px solid blue;
} /*#p2~span:权值:100+1=#p2+span(权值:100+1)采用就近原则 则其会覆盖#p2+span中的样式属性*/
#p2~span{
border: 1px solid blue;
}
</style>
CSS样式表及选择器相关内容(一)的更多相关文章
- CSS样式表及选择器相关内容(二)-伪类与伪元素选择器
伪类与伪元素选择器归纳: 一.伪类选择器(伪类以":"开头,用在选择器后,用于指明元素在某种特殊的状态下才能被选中) 1.a标签伪类选择器,其他标签类似 eg: ...
- css样式表和选择器的优先级以及position元素属性值的区别
css样式表优先级 问题:当同一个HTML元素被不止一个样式定义时,会使用哪个样式呢? 答:一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字4拥有最高的优先权. 1.浏览器缺省 ...
- css样式表的选择器与分类
css 样式表的作用: 主要用于结构,样式与行为,CSS主要的作用就是美化网页的一个语言,它的特点: 1.结构与样式分离的方式,便于后期维护与改版; 2.样式定义精确到像素的级别; css样式表的结构 ...
- CSS样式----图文详解:css样式表和选择器
主要内容 CSS概述 CSS和HTML结合的三种方式:行内样式表.内嵌样式表.外部样式表 CSS四种基本选择器:标签选择器.类选择器.ID选择器.通用选择器 CSS三种扩展选择器:组合选择器.后代选择 ...
- CSS样式----css样式表和选择器(图文详解)
本文最初于2015-10-03发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 本文主要内容 CSS概述 CSS和HTML结合的三种方式:行内样 ...
- CSS:CSS样式表及选择器优先级总结
我们在写网页的时候经常会遇到同一个HTML文件,使用了外部样式.内部样式以及内联样式,那么如果发生冲突时浏览器是怎么抉择的呢? 也会遇到这样的情况,在样式表中,对同一个HTML元素,我们有可能既用到了 ...
- CSS选择器及CSS样式表
前言 牛腩新闻发布系统中记忆最深的就是各种CSS选择器各种CSS样式,这些选择器之间肯定有它的优先级,包括CSS样式也一样,也是有它的优先级,本文介绍一些各种CSS选择器各种CSS样式以及它们的优先级 ...
- 一起学HTML基础-CSS样式表-基本概念、分类、选择器
一.基本概念: CSS (Cascading Style Sheets)层叠样式表,是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言. ...
- CSS样式表 选择器
1.内联样式表 和HTML联合显示,控制精确,但是可重用性差,冗余较多. 例:<p style="font-size:14px;">内联样式表</p> &l ...
随机推荐
- Server Tomcat v8.5 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.
Server Tomcat v9.0 Server at localhost was unable to start within 45 seconds. If the server requires ...
- LocalDate/LocalDateTime/LocalTime与Date的互转
// 01. java.util.Date --> java.time.LocalDateTime public void UDateToLocalDateTime() { java.util. ...
- linux剪贴板
ubuntu下的用户可以只用apt-get来安装: `sudo apt-get install xclip ` 其他发行版的用户可以选择自己的安装方式,也可以用源码编译安装,xclip项目的主页是:h ...
- Mockito 的用法
本文为博主原创,转载请注明出处: Mockito 是一个基于MIT协议的开源java测试框架. Mockito区别于其他模拟框架的地方主要是允许开发者在没有建立“预期”时验证被测系统的行为.对于moc ...
- 判断mysql数据库表和表字段是否存在
1.判断数据库表是否存在, // mysqlSELECT table_name FROM information_schema.tables WHERE table_name=#{tableName, ...
- java只允许输入数字字母下划线中文
public static void main(String[] args) { Pattern pattern = Pattern.compile("[_0-9a-z]+"); ...
- 巧用List.stream()方法对List做处理
List.steam()的强大之处在此不做赘述. 直接进入主题: 1.过滤Bean List中,某些字段等于指定值的所有行 List<Member> list = itemsArray.t ...
- 量化编程技术—pandas与数据分析
# -*- coding: utf-8 -*- # @Date: 2017-08-26 # @Original: import numpy as np stock_cnt = 200 view_day ...
- Kubernetes+Istio
Kubernetes+Istio 微服务.SpringCloud.k8s.Istio杂谈 一.微服务与SOA “微服务”是一个名词,没有这个名词之前也有“微服务”,一个朗朗上口的名词能让大家产 ...
- ThinkPHP3(命名空间、RBAC)
命名空间 当开发大型项目的时候,可以会需要成千上万的文件 面向对象通过命名空间来解决这个问题的. PHP命名空间是PHP5.3以后才出现的. 命名空间中可以出现:类,函数,常量 只有const定义的常 ...