CSS题

  • 判断元素是否滚动到底部
    元素滚动到底部时,它的 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. 创建自适应两栏布局
    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,865评论 1 92
  • 当margin的值为百分比形式时,为什么浏览器会根据父容器宽度得出计算值? 假如有一个父容器宽度400px,高度6...
    飘雪飞舞阅读 904评论 0 0
  • 前言 现在,我们被称为前端工程师。然而,早年给我们的称呼却是页面仔。或许是职责越来越大,整体的前端井喷式的发展,使...
    Calvin李阅读 530评论 0 0
  • 我穿着朴素 进去商店 你的脸色平淡 自己看 我穿着华丽 进去商店 你心花怒放 招呼我看 我还是我 但是你的脸确不是...
    余苑祯seven阅读 230评论 0 0
  • 等我赚够了钱买得起巧克力的时候,我已经不再天天想吃了,当我可以随便玩电脑而没人管的时候,我已经懒得打开电脑了 。时...
    嚯嚯嚯_啊阅读 186评论 0 0