• CSS:CSS学习总结


    背景

    CSS是一种声明式的语言,学好CSS的难度甚至大于学好一门服务器语言(我个人的感觉),这周在学习CSS,就记录一下学习经验。

    1、规则声明顺序

    因为CSS的样式具备层叠性和继承性,为了最小化代码量,规则的声明可以按照如下顺序:

    1. 常用标记
    2. 常用类
    3. 布局类
    4. 导航类
    5. 表格类
    6. 表单类
    7. 组件类

    2、盒子模型、文档流、定位和浮动一定要清楚

    • 盒子模型:浏览器把每种标记都当做一个盒子,有两种盒子(内联和框),他们在文档流中的布局模式是不同的。
    • 文档流:框盒子会被从上到下的布局,内联盒子会被从左到右、从上到下的布局。
    • 定位:可以修改框盒子的定位方式,static(正常的文档流中的位置)、absolute(相对于最近一个被定位(非static定位)了的祖先元素的位置,脱离了文档流)、relative(相对于正常的文档流的位置,保留原来的位置)、fixed(相对于窗口,脱离了文档流)。
    • 浮动:浮动会导致元素脱离文档流,元素会浮动到父亲元素的边缘或其它浮动元素的边缘,如果遇到空间不够就会下降寻找足够的空间,浮动一般伴随着清除,清除会让元素的左右没有任何浮动元素。

    教程:http://www.w3school.com.cn/css/css_positioning.asp

    3、利用伪元素清除浮动

    1 .clear-fix:after
    2 {
    3     content: ".";
    4     clear: both;
    5     display: block;
    6     height: 0;
    7     visibility: hidden;
    8 }

    教程:http://www.w3school.com.cn/css/css_pseudo_elements.asp

    4、margin可以支持负数

    Bootstrap中的栅格系统就用了这个特性,row的margin-left为-20px,span*的margin-left也为20px,这样就抵消了第一个span的margin。

    教程:http://www.w3school.com.cn/css/css_margin.asp

    5、属性选择器

    1 [class*="span"] {
    2      float: left;
    3      min-height: 1px;
    4      margin-left: 20px;
    5 }

    教程:http://www.w3school.com.cn/css/css_selector_attribute.asp

    6、相邻兄弟选择器

     1 .main-content
     2 {
     3     background: url("../Images/accent.png") no-repeat;
     4     padding-left: 10px;
     5     padding-top: 30px;
     6 }
     7 
     8 .featured + .main-content
     9 {
    10     background: url("../Images/heroAccent.png") no-repeat;
    11 }

    教程:http://www.w3school.com.cn/css/css_selector_adjacent_sibling.asp

    备注

    CSS不好学习,还是需要专门的人员来做,后端懂点CSS有利于更好的合作。

  • 相关阅读:
    结构-行为-样式-有趣的函数
    结构-行为-样式-angularJs笔记
    Js-Html 前端系列--页面撑开头尾
    Java 实现下载
    Js-Html 前端系列--Ajax
    Js-Html 前端系列--checkbox
    Nutz中过滤特殊字符
    NUTZ中处理系统未捕获异常
    Thymeleaf 笔记
    Json 使用小结
  • 原文地址:https://www.cnblogs.com/happyframework/p/3231956.html
Copyright © 2020-2023  润新知