Blogger Information
Blog 28
fans 0
comment 0
visits 30055
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
CSS入门(基础概念和相关知识点细说)
G
Original
656 people have browsed it

CSS 基础知识点

1. css 是什么

  • css: cascade style sheet(层叠样式表)
  • css 是编程语言吗? 不是
  • 核心:层叠, 盒模型, 单位(px/em/rem/vh/vw/fr),定位,浮动…

2. 声明、声明块、选择器、规则集

  • 声明:声明是有一个属性和一个值组成;
  1. color: yellow;
  • 声明块:用一个{}将多个声明包裹起来;
  1. {
  2. color:red;
  3. font-weight:normol;
  4. }
  • 选择器:写在声明块前面的一个标识符,用来选择页面中一个或多个元素;
  1. /* 标签选择器selector */
  2. h1{
  3. color:red;
  4. font-size:10px;
  5. }
  6. /* id选择器 */
  7. /* #id{} */
  8. #page-title{
  9. color:green;
  10. }
  11. /* class类选择器 */
  12. /* .class{} */
  13. .title{
  14. colorblue;
  15. }
  • 规则集(规则):选择器和声明块组成
  1. /* 选择器+声明块 */
  2. .class{
  3. color:blue;
  4. font-weight:20px;
  5. }

  • 选择器的优先级
    tag<class<id<style属性<!important

这里的 style 是行内元素的属性!

  1. <p style="color:blue;">这是一个行内元素的设置</p>

important 是最高级的,直接把当前类提升到最高级别。在实际使用过程中尽量不要去使用他,除非特别情况!

  • 例如:
  1. /* #设置类title优先级为最高级。
  2. 页面之中优先显示 而id的css属性将会被覆盖*/
  3. .title{
  4. color:red !important;
  5. }
  6. #page-title{
  7. color:blue;
  8. }

3. 层叠

  1. 层叠的意义

    当一个元素可以被多种选择器匹配时, 层叠可以解决样式设置上的冲突

  2. 层叠解决样式冲突的三种方案

  • 样式表的来源
  • 选择器的优先级
  • 源码的顺序

    源码的顺序越是在后面优先级越是大于前面的,

  1. .title{
  2. color:blue;
  3. }
  4. #page-title{
  5. color:green;
  6. }
  7. /* 根据源码的顺序,#page-title是在后面的,所以要优先于类title */

4. style 样式引入的方式

  1. 行内引入
  • 在标签内添加 style 属性。
  1. <p style="color:blue;">这是一个行内元素的设置</p>
  1. 当前页面引入。
  • 通过 style 标签来实现
  1. <style>
  2. .title {
  3. color: red !important;
  4. }
  5. #page-title {
  6. color: blue;
  7. }
  8. </style>
  1. 引入外部资源(公共样式表)
  • 通过 link 标签引入
  1. <link rel="stylesheet" href="style1.css" />

常见外部样式表:common.css,jQuery.css, layui.css,<link>引入

  • 通过特殊规则引入,搭配 style 标签
  1. <style>
  2. /* url内的引号可加可不加 */
  3. @import url("style样式表的位置");
  4. </style>

选择器的优先级

tag < class < id

5. 用户代理样式

  • 用户代理: 就是浏览器,代理的是用户的 http 请求,请求一个网络资源 URL
  • 浏览器默认样式

    6. 选择器的优先级方案

案例 id class tag 标识
html body header h1 0 0 4 0, 0, 4
body header h1.page-title 0 1 3 0, 1, 3
.header-page .page-title 0 2 0 0, 2, 0
#page-title 1 0 0 1, 0, 0

标识:标识是由(id,class,tag)的个数组成。

  • (0,0,4)
  1. /* (0 , 0, 4) */
  2. html body header h1 {
  3. color: aqua;
  4. }

效果展示:

  • (0,1,3)
  1. /* (0 , 0, 4) */
  2. html body header h1 {
  3. color: aqua;
  4. }
  5. /* (0,1,3) */
  6. body header h1.page-title {
  7. color: rgb(15, 252, 86);
  8. }

为什么不显示(0,0,4)的而显示(0,1,3)的?因为(0,1,3)内含有一个 class,而(0,0,4)之中没有,所以(0,0,4)的优先级小于(0,1,3),所以选择器优先选择优先级高的(0,1,3),所以显示(0,1,3)
效果展示:

  • (0,2,0)
  1. /* (0 , 0, 4) */
  2. html body header h1 {
  3. color: aqua;
  4. }
  5. /* (0,1,3) */
  6. body header h1.page-title {
  7. color: rgb(15, 252, 86);
  8. }
  9. /* (0,2,0) */
  10. .header-title .page-title {
  11. color: darkorchid;
  12. }

最后只显示(0,2,0)的,因为(0,2,0)优先级最大!
效果展示:

  • (1,0,0)
  1. /* (0 , 0, 4) */
  2. html body header h1 {
  3. color: aqua;
  4. }
  5. /* (0,1,3) */
  6. body header h1.page-title {
  7. color: rgb(15, 252, 86);
  8. }
  9. /* (0,2,0) */
  10. .header-title .page-title {
  11. color: darkorchid;
  12. }
  13. /* (1,0,0)id属性最高,优先级高,所以显示 */
  14. #page-title {
  15. color: coral;
  16. }

最后效果:

7. 注意

  • 尽可能不要用!important
  • 尽可能不要用id

  • 为什么要少用或不用 id?

    • 原因是级别太高, 丧失了灵活性
  • 为什么尽可能不用 tag?
    • 因为 css 的本质是为了”样式复用”
  • 尽可能在可用的情况下,使用 class 来完成

8. 继承

  • 有的属性可以被继承,如颜色,字体等文本, 有的则不行, 如盒模型、表格
  • 二个关键字
    • inherit: 继承
    • initail: 初值
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:是不是有一些东西之前没有听说过呢?
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post