CSS题

作者: YouKnowznM | 来源:发表于2017-11-23 11:36 被阅读0次
    • 判断元素是否滚动到底部
      元素滚动到底部时,它的 scrollHeight - scrollTop 等于 clientHeight。

      • scrollHeight 只读的元素全部高度,包括overflow: hidden隐藏掉的部分
      • scrollTop 元素顶部的滚动距离
      • clientHeight 只读的元素内部的高度,不包括overflow: hidden隐藏掉的部分
    • 左右两栏布局,左侧定宽,右侧随窗口大小缩放

      1. body flex,.left width 200px,.right flex-grow=1
      2. 两栏均float left,.left width 200px,.right宽度 calc(100% - 200px)
      3. 两栏均position absolute,.left width 200px; left 0,.right right 0; left 200px
      
    • 三栏布局,左右定宽中间自适应

      1. 左右float 中间width calc(或设置左右margin)
      2. flex 中间 flex-grow 1
      3. absolute 中间设置left和right(或设置左右margin) 左边设left和width 右边设right和width
      
    • 子元素在父元素内双向居中

      /* 1 - 父元素flex */
      display: flex;
      align-items: center;
      justify-content: center;
      /* 2 - 子元素绝对定位 */
      display: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      
    • BFC 块级格式上下文

      在这种布局方式下,盒子们自所在的containing block顶部一个接一个垂直排列,水平方向上撑满整个宽度(除非内部盒子自己建立了新的BFC)。两个相邻的BFC之间的距离由margin决定。在同一个BFC内部,两个垂直方向相邻的块级元素的margin会发生“塌陷”。
      
      一、触发条件:
          float属性不为none
          overflow不为visible(可以是hidden、scroll、auto)
          position为absolute或fixed
          display为inline-block、table-cell、table-caption
      
      二、可解决的问题:
          1. 清除内部浮动
          我们在布局时经常会遇到这个问题:对子元素设置浮动后,父元素会发生高度塌陷,也就是父元素的高度变为0。解决这个问题,只需要把把父元素变成一个BFC就行了。常用的办法是给父元素设置overflow:hidden。
      
          2. 垂直margin合并
          在CSS当中,相邻的两个盒子的外边距可以结合成一个单独的外边距。这种合并外边距的方式被称为折叠,并且因而所结合成的外边距称为折叠外边距。
      
          3. 创建自适应两栏布局
      

    相关文章

      网友评论

          本文标题:CSS题

          本文链接:https://www.haomeiwen.com/subject/llqzvxtx.html