• 《CSS mastery》 读书笔记


    又翻了一下之前的读书笔记,再重温了忘掉的细节。最近一年的工作,由于有重构岗位的同学负责CSS的编写,虽说还是接触到,但毕竟不写好久了,有些东西还是忘记了,例如选择器的权重计算细节。这个笔记只是部分,后半部分快速浏览了,没写笔记。

    1、元素命名规则
    • 类名或者ID以元素是做什么的来命名,不要以元素的外观表现来命名。
    • 类名或者ID全部小写,并用连字符号或许下划线分隔。(.add-class)
    2、伪类
    • 链接伪类: :link和:visited
    • 动态为例: :hover :active :focus
      • 设置:fouces与:hover相同的样式,让使用键盘来访问元素(更多时候是a标签)时,表现就跟用鼠标移到该元素上的效果相同
      • 用途:
        • <a></a>使用:link,:visited,:hover,:active,:focus使链接的效果更丰富;:link指未访问<a>标签前
          • 注意:<a>中使用伪类是,必须注意伪类套用样式的顺序,不然会导致后面的伪类覆盖了前面的伪类的情况
          • 顺序为:a:link,a:visited,a:hover,a:focus,a:active(记忆:LVHFA)
          • 习惯:LV一般一起设置,HFA一起设置
          • eg: a:link,a:visited{text-decoration:none;} a:hover,a:focus,a:active{text-decoration:underline;}
        • 表格行<tr></tr>中使用:hover伪类,悬停的该行整行变色
        • 提交按钮上使用:active
        • 输入框中使用:focus,使输入时获得丰富效果
    • 注意:IE7及以下的版本不支持除链接外的其他元素上使用伪类选择器!
    3、选择器
    • 常用选择器:
      • 类型(元素、简单)选择器
      • ID选择器
      • 类选择器
      • 伪类
    • 通用选择器: *(通配)
    • 高级选择器:
      • 子选择器、相邻同胞选择器
        • 子选择(IE7以上才支持): #nav>li 选择#nav下的直接(第一个)li子元素,注意与通用选择器(#nav li)的区别
        • 注意这个选择器与后代选择器的区别,子选择器(child selector)仅是指它的直接后代,或者你可以理解为作用于子元素的第一个后代。而后代选择器是作用于所有子后代元素。后代选择器通过空格来进行选择,而子选择器是通过“>”进行选择
        • 相邻同胞选择(定位位于同一个父元素下某个元素之后的一个元素): h2+p 选择h2后面紧跟的一个p元素
      • 属性选择器(IE6不支持)
        • eg: [id="header"]{ color:red;}(指拥有id=header属性的所有元素 或者 div[title]{}(指选择有title属性的div元素)
    • 伪元素选择器:
      • first-letter、first-line、before、after
      • eg: p :first-letter{color:red;} div:after{content:"a";}
    4、层叠和特殊性
    1. 层叠:处理同一个元素可能有一个或多个样式规则,层叠给每个规则分配一个重要度。
    2. 特殊性:选择器的特殊决定规则的次序。
      1. 规则是,给每种选择器分配一个数字值,然后将规则的每个选择器的值加起来,计算出该数值来,按照最高数值的规则来应用样式
      2. style行内属性的规则特殊性总是高于其他选择器(因为其特殊性为1,0,0,0)
      3. 两个规则的特殊性相同,后定义的规则优先
      4. 选择器特殊性分为4个等级a,b,c,d(特殊性:a,b,c,d)
        1. style行内样式,a=1;
        2. b等于ID选择器的总数
        3. c等于类、伪类和属性选择器的数量
        4. d等于类型选择器和伪元素选择器的数量
          • eg: style="" 特殊性:1,0,0,0 如果基数是10,则特殊性是1000
          • eg: #wrapper #content 特殊性:0,2,0,0 如果基数为10,则特殊性是200
        5. 最终计算规则的特殊性时,基数默认不是指定为某个特定值的,如果选择器数量不多,可以指定基数就是为10来计算
    5、继承
    1. 概念:应用样式的元素的后代会继承样式的某些属性。例如字号和颜色
    2. 注意和层叠区分开来
    3. 同时,继承而来的样式特殊性为空!直接应用于元素的样式总能覆盖继承而来的样式。
  • 相关阅读:
    使用Layui上传图片,并进行压缩(非原创,证实可用)
    mysql 存储过程及事件
    Redis一些简单的笔记
    RIOT 技术笔记-01 RIOT介绍
    杂七杂八-ubuntu安装eclipse
    杂七杂八-sqlyog连接mysql错误码2058
    杂七杂八-Mysql8.0忘记root密码
    RIOT学习笔记-01 cygwin安装
    Ubutun-安装远程桌面
    中间件-RocketMQ 02 Docker下的安装
  • 原文地址:https://www.cnblogs.com/pidianpidian/p/3756069.html
Copyright © 2020-2023  润新知