博客园 首页 新随笔 联系 订阅 管理

1. CSS 继承

  (1) 文字相关的样式可以被继承

  (2) 布局相关的样式不能被继承(默认是不能继承的,但是可以设置继承属性 inherit 值) 例如: border: inherit;
 
2. CSS 优先级
 
  (1) 相同样式的优先级
    当设置相同的样式时,后面的优先级较高
    
  (2) 内部样式和外部样式的优先级
    内部样式和外部样式的优先级相同,但如果都设置了相同的样式,后写的优先级高
  
  (3) 单一样式的优先级
    style内联 > id > class > tag > * > 继承
     
    注:  style内联 权重 1000
         id          权重 100
            class     权重 10
           tag       权重 1
 
  (4) !important
    提升样式的优先级,非规范方式,不建议使用
 
  (5) 标签 + 类 与 单类
    标签 + 类 > 单类
 
  (6) 群组优先级
    群组优先级与单一选择器的优先级一样,但后写的优先级高
 
3. CSS 盒子模型
  (1) 组成(由内向外): content(物品) -> padding(填充物) -> border(包装盒) -> margin(盒子与盒子之间的距离)
 
  (2) content:内容区域,由width和height组成
  
  (3) padding:内边距(内填充)
      只写一个值:30px (上右下左)
      只写两个值:30px 40px (上下 左右)
      写四个值:30px 40px 50px 60px (上右下左)
 
      同样可以使用单一样式:
          padding-top、padding-right、padding-bottom、padding-left
  
  (4) margin:外边距(外填充)
      只写一个值:30px(上右下左)
      只写两个值:30px 40px (上下 左右)
      写四个值:30px 40px 50px 60px (上右 下左)
 
      同样可以使用单一样式:
          margin-top、margin-right、margin-bottom、margin-left
 
    注意:
       (1)背景颜色会填充到margin以内的区域(content、padding、border均被填充)
       (2)文字在content区域
       (3)padding不能为负数,而margin可以为负数。padding可以0,margin为正数,向右或向下;margin为负数,向左或向上
 
  (5) CSS盒尺寸
    box-sizing(盒尺寸,可以改变盒子模型的展示形态)
    box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素。取值为content-box(默认值) | border-box
 
    默认值:content-box: width、height -> content
       border-box: width、height -> content padding border
  
    
    使用场景:
    1.不用再去计算一些值
    2.解决一些百分比的问题
 
  (6) CSS盒子模型的一些问题
    (6.1)  CSS盒子模型之margin叠加问题
 
       问题现象: 当给两个盒子同时添加上下外边距时,就会出现叠加问题,这个问题只在上下外边距有,左右外边距没有
 
             结果:会取上下中较大值作为叠加后的值
 
       解决方案:
 
          (1) 利用BFC规范
          (2)想办法只给一个元素添加边距
 
    (6.2) CSS盒子模型之margin传递问题
 
      问题现象: margin传递的问题只会出现在嵌套的结构中,且只有margin-top有传递的问题,其他三个方向没有传递的问题。
      
       解决方案:
 
          (1)BFC规范
          (2)给父容器加边框
          (3)margin换成padding
    
    (7) CSS盒模型拓展
 
      (7.1) margin自适应居中
        1.margin左右自适应是可以的,但是上下自适应是不可以的
          margin-left:auto; margin-rightLauto;
          简写:margin: auto auto;
      
      (7.2)不设置content的现象
        2.width、height不设置的时候,嵌套在其中的元素会自动撑满父容器。
 
         对盒子模型的影响:会自动去计算容器的大小,节省代码。
 
          #box1{width: 300px;height: 300px;background: red;}
          #box2{color: white;padding-left: 30px;border-left: 10px solid black; height: 100px;background: blue;}
         
          <div id="box1">
            <div id="box2">这是一些内容</div>
           </div>
 
 
 
 
posted on 2021-12-31 11:35  Computer_Science  阅读(34)  评论(0编辑  收藏  举报