CSS定义

CSS:Cascading Style Sheet(层叠样式表)

// 写法
选择器 {
属性名: 属性值;
}

CSS样式表

(1)三种样式表使用

// 内联样式
<div style="width: 100px; height: 100px;"></div> // 内部样式表
<style type="text/css">
div {
width: 100px;
height: 100px;
}
</style> // 外部样式表
<link rel="stylesheet" type="text/css" href="">

(2)三种样式表的权重和优先级

内联样式 > 内部样式表 > 外部样式表

选择器

(1)6大基础选择器

// 1、id选择器:唯一对应
<div id="box"></div>
<style type="text/css">
#box {
color: red;
}
</style> // 2、类class选择器:统一类
<div class="box"></div>
<style type="text/css">
.box {
color: red;
}
</style> // 3、标签选择器:初始化标签使用
<div></div>
<style type="text/css">
div {
color: red;
}
</style> // 4、*通配符标签
<style type="text/css">
* {
margin: 0;
}
</style> // 5、属性选择器:表单中input常用
<div id="box1"></div>
<a href="http://www.baidu.com"></a>
<style type="text/css">
[id="box"] {
color: red;
}
[href] {
text-decoration: none;
}
</style> // 6、最高优先权
<style type="text/css">
div {
background: red !important;
}
</style>

(2)6大基础选择器优先级

!important > id > class | 属性 > 标签 > *

(3)复合选择器

// 1、派生选择器(父子选择器),从右到左匹配。包含两种:包含选择器和子选择器
<header>
<p>
<em>你好</em>
</p>
</header>
<style type="text/css">
/*包含选择器*/
header p em {
color: red;
} /*子选择器:必须层层父子级*/
header > p > em {
color: red;
}
/*直接父子选择器*/
p > em {
color: red;
}
</style> // 2、相邻兄弟选择器:1、同父级;2、相邻;3、在其之后
<p>这里是第一个P标签</p>
<h2 class = 'h2'>标题H2</h2>
<p>这里是第一个P标签(变色)</p>
<p>这里是第二个P标签</p>
<style type="text/css">
.h2 + p{
color: red;
}
</style> // 3、兄弟选择器~(匹配选择器)
<p>这里是第一个P标签</p>
<h2 class = 'h2'>标题H2</h2>
<p>这里是第一个P标签(变色)</p>
<p>这里是第二个P标签(变色)</p>
<style type="text/css">
.h2 ~ p{
color: red;
}
</style> // 4、并列选择器
<h1 class="title">你好!</h1>
<style type="text/css">
h1.class {
color: pink;
}
</style> // 5、分组选择器
<input type="text" />
<br />
<textarea cols="3" rows="10"></textarea>
<style type="text/css">
input,
textarea {
outline: none;
}
</style>

CSS权重(256进制)计算规则

(1)分类权重

  • *:0
  • 标签、伪元素:1
  • class、属性、伪类 :10
  • id:100
  • 内联样式:1000
  • !important:正无穷

(2)计算示例

// 基础选择器优先级
正无穷 > 100 >10 >1 >0
!important > id > class | 属性 > 标签 > * // 权重计算
<div id="div_id" class="div_class">
<h1 id="h1_id" class="h1_class">
你好!
</h1>
</div>
<style type="text/css">
#div_id h1 {
color: pink; // 100 + 1
}
.div_class .h1_class {
color: purple; // 10 + 10
}
.div_class #h1_id.h1_class { // 10 + 100 + 10
color: red;
}
</style>

伪类和伪元素

  1. CSS2中伪类和伪元素都是要单冒号(:)
  2. CSS3中伪类使用单冒号(:),伪元素使用双冒号(::)

伪类参考
伪元素参考

CSS篇-样式表、选择器、权重、伪类的更多相关文章

  1. CSS基础--属性选择器、伪类选择器

    属性选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  2. CSS选择器:伪类(图文详解)

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 伪类(伪类选择器) 伪类:同一个标签,根据其不同的种状态,有不同的样式. ...

  3. css 04-CSS选择器:伪类

    04-CSS选择器:伪类 #伪类(伪类选择器) 伪类:同一个标签,根据其不同的种状态,有不同的样式.这就叫做"伪类".伪类用冒号来表示. 比如div是属于box类,这一点很明确,就 ...

  4. css 05-CSS样式表的继承性和层叠性

    05-CSS样式表的继承性和层叠性 #本文重点 CSS的继承性 CSS的层叠性 计算权重 权重问题大总结 CSS样式表的冲突的总结 权重问题深入 同一个标签,携带了多个类名 !important标记 ...

  5. Bootstrap的优先级、选择器、伪类

    概述:Bootstrap的CSS组件的核心就是选择器的定义以及在各自优先级上的处理.由于大部分的选择器都非常的常见就一笔带过了,这里重点介绍一下Bootstrap用到的知识点. 一.优先级 之前我们使 ...

  6. css--css选择器,伪类

    前戏 前面我们说过CSS规则由选择器和声明组成,我们要给标签设置属性,那我们就要找到对应的标签,CSS选择器可以帮我们找到我们需要的标签 css选择器有: 标签选择器 类选择器 ID选择器 全局选择器 ...

  7. CSS3 选择器——笔记+实战案例(基本选择器、组合选择器、属性选择器、伪类选择器)

    使用CSS3 选择器——笔记 CSS通过选择器控制HTML元素,CSS选择器对网页对象可以实现一对一.一对多或者多对一的匹配. 一.CSS3选择器分类 CSS选择器在CSS2.1选择器的基础上新增了属 ...

  8. CSS3 01. CSS3现状、属性选择器、伪类选择器、结构伪类、伪元素选择器、颜色、文本阴影shadow、盒子模型、私有化前缀

    CSS 3 现状 兼容性差,需添加私有前缀/移动端优于PC端/不断改进中/渐进增强原则/考虑用户群体/遵照产品的方案 : CSS3手册 需要阅读其--阅读及使用指引 []表示全部的可选项 || 或者 ...

  9. 理解是最好的记忆方法 之 CSS中a链接的④个伪类为何有顺序

    理解是最好的记忆方法 之 CSS中a链接的④个伪类为何有顺序 在CSS中,a标签有4种伪类,分别为: a:link, a:visited, a:hover, a:active 对其稍有了解的前端er都 ...

随机推荐

  1. 解决debian (Friendly ARM 嵌入式板)的sudo等一部分命令无法TAB补全

    TAB对于比较长的命令在使用时是十分方便的,最近就遇到TAB 键无法补全sudo后跟的命令的情况因此去网上取经.在一篇博客中找到解决问题的方法,觉得大牛们写的太精炼然后自己做如下总结方便自已以后解决类 ...

  2. [USACO15JAN]Moovie Mooving G

    [USACO15JAN]Moovie Mooving G 状压难题.不过也好理解. 首先我们根据题意: she does not want to ever visit the same movie t ...

  3. js 深入原理讲解系列-Promise

    js 深入原理讲解系列-Promise 能看懂这一题你就掌握了 js Promise 的核心原理 不要专业的术语,说人话,讲明白! Q: 输出下面 console.log 的正确的顺序? const ...

  4. 使用 Canvas 实现一个类似 Google 的可视化的页面错误反馈库

    使用 Canvas 实现一个类似 Google 的可视化的页面错误反馈库 iframe 嵌套 iframe iframe 包含 复制的 HTML 页面 和支持可以拖拽的工具栏 鼠标经过上面,智能识别 ...

  5. WebRTC in Action

    WebRTC in Action https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API https://codelabs.develo ...

  6. Azure & Serverless

    Azure & Serverless https://azure.microsoft.com/en-us/get-started/webinar/on-demand/ blob:https:/ ...

  7. front-end & web & best code editor

    front-end & web & best code editor 2019 VS Code https://designrevision.com/best-code-editor/ ...

  8. CSS BEM

    CSS BEM Block, Element, Modifier https://en.bem.info/methodology/quick-start/ BEM /* Block component ...

  9. JVM元空间(Metaspace)

    本文转载自JVM学习--元空间(Metaspace) 从方法区(PermGen)到元空间(Metaspace) 方法区(PermGen) JDK1.8以前的HotSpot JVM有方法区,也叫永久代( ...

  10. 死磕Spring之IoC篇 - BeanDefinition 的解析阶段(XML 文件)

    该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1. ...