position:sticky和display:grid

position:sticky

首先介绍一下position:sticky。positin:sticky是一个新的CSS3属性,它的表现类似于position:relative和position:fixed的合体,在目标区域在屏幕中可见时,它的行为就像是position:relative一样。而当页面滚动超出区域时,它的行为就像是position:fixed一样,固定在目标位置。它可以设置top,left,right,bottom,默认设置只有没有任何变化。譬如当你设置top:0,当这个元素距离上为0时,就变成了固定定位。

.sticky { 
position: -webkit-sticky; 
position:sticky; 
top: 0px;  
}

另外需要注意的是,如果同时定义left和right时,left生效,right失效。同样,如果同时定义top和bottom时,top生效,bottom失效。

但是它的兼容性很差,就连google都不能全部支持。
image.png

display:grid

display:grid是一种CSS3的布局方式,也可以叫做网格布局。
首先设置网格的父级元素为display:grid。

grid-template-colums:20% 20% 10% 10px 100px;
grid-template-rows:auto 10px auto 10px auto;

grid-template-colums就是表示第一列20%,第二列20%(次列可作为列与列之间的间隙)
grid-template-rows就是表示第一行高度自适应内容,第二行高度为10px(此列可作为列与列之间的间隙)

<div class="wrapper">
    <div class="box a">A</div>
    <div class="box b"></div>
    <div class="box c">C</div>
    <div class="box d"></div>
    <div class="box e">E</div>
    <div class="box f"></div>
    <div class="box g"></div>
    <div class="box h"></div>
    <div class="box i"></div>
    <div class="box j"></div>
    <div class="box k">K</div>
    <div class="box l"></div>
    <div class="box m">M</div>
    <div class="box n"></div>
    <div class="box o">O</div>
</div>

     .wrapper {
            display: grid;
            grid-template-columns: 100px 10px 100px 10px 100px;
            grid-template-rows: auto 10px auto;
        }

        .box {
         .box {
            background-color: #444;
            color: #fff;
            font-size: 150%;
            line-height: 60px;
            text-align: center;
        }
        .b,.d,.f,.g,.h,.i,.j,.l,.n{
            background-color: #1D8FEE;
        }

这只是画出了一个表格,我们还可以选到每个表格

 grid-column-start: 1;
 grid-column-end: 2;
 grid-row-start: 1;
 grid-row-end: 2;
 grid-column: 1 / 2;
 grid-row: 1 / 2;

还可以进一步缩写

 grid-area: 3/5/4/6;

分别代表
行起始位置/列起始位置/行结束位置/列结束位置

当然他的兼容性也不怎么友好
image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,144评论 1 92
  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 9,979评论 0 8
  • 我的一生当中有过很多次失败 例如,半途而废的学业 例如,走进一个宫斗剧片场般的职场 例如,最终分道扬镳的初恋 而我...
    读云轩札记阅读 610评论 9 3
  • 好几次听村里的老人谈起父亲。他们总会说,你父亲年轻时可是个好后生啊! 这话我深信不疑。父亲年轻时浓眉大眼,一米七八...
    未来小鲜肉阅读 733评论 2 4
  • swfupload是一个上传插件,用来解决浏览器之间上传的差异,以及低版本浏览器无法实现的一些上传功能(例如进度显...
    mike8625阅读 466评论 1 2

友情链接更多精彩内容