大家好,本篇文章将分享我们业务中很常见的10个页面布局代码片段,这10 种页面布局很常见,实现方式也有很多种,本篇文章将用最简单的新方式进行实现,希望对大家有所启发。

1、Card layout(卡片布局)

如下图所示,卡片布局是我们常见的一种页面布局。



HTML部分

<div class="cards"><!-- 需分配宽度给卡片单元格 --><div class="cards__item">...</div><!-- 此处重复多个 cards__item 卡片单元格-->...
</div>

CSS部分

.cards {display: flex;/* 超出容器宽度自动换行 */flex-wrap: wrap;margin-left: -8px;margin-right: -8px;
}.cards__item {/* 初始化每个卡片的宽度,占据父容器的 1/4 */flex-basis: 25%;padding-left: 8px;padding-right: 8px;
}

2、Holy grail(圣杯布局)

圣杯布局,不用我多说,想必每个前端人都做过这样的页面结构,如下图所示



HTML部分

<div class="container">
<!-- 顶部 --><header>...</header><main class="container__main"><!-- 左边导航 --><aside class="container__left">...</aside><!-- 中部 --><article class="container__middle">...</article><!-- 右边导航 --><nav class="container__right">...</nav></main>
<!--底部 --><footer>...</footer>
</div>

CSS部分

.container {display: flex;flex-direction: column;
}.container__main {/* 占据剩余的高度部分 */flex-grow: 1;/* 左中右使用弹性盒子布局,行方式显示 */display: flex;flex-direction: row;
}.container__left {width: 25%;
}.container__middle {/* 自动占据剩余的宽度部分 */flex-grow: 1;
}.container__right {width: 20%;
}

3、Masonry grid(简单的瀑布流)

瀑布流也是一种很常见的布局,尤其是在图片信息流的产品,以往如果要完美的实现瀑布流,我们需要费不少的功夫,还要借助JS进行实现。本案例,将使用 column-count 这个属性,进行实现。



HTML部分

<div class="masonry-grid"><!--内容单元格 --><div class="masonry-grid__item">...</div><!-- 重复内容单元格 -->
</div>

CSS部分

.masonry-grid {/* 三个单元格 */column-count: 3;/* 每个单元格的距离 */column-gap: 1rem;/* 容器宽度 */width: 100%;
}.masonry-grid__item {/* 不允许内容溢出到其他单元格 */break-inside: avoid;margin-bottom: 1rem;
}

4、Same height columns(相同高度的列)

布局相同高度的列,也是我们业务中常见的需求,如下图所示:


HTML部分

<div class="container"><!-- 单元格-列 --><div class="container__column"><!-- 内容封面 -->...<!-- 文字内容内容 --><div class="container__content">...</div><!-- 固定在底部的列 -->...</div><!-- 重复单元格布局 container__column -->...
</div>

CSS部分

.container {display: flex;
}.container__column {flex: 1;/* 定于每列间隔的空间 */margin: 0 8px;/* 内容部分列布局 */display: flex;flex-direction: column;
}.container__content {/* 内部部分占据剩余的高度部分 */flex: 1;
}

5、Sidebar(侧边导航栏)

两列布局,左边是导航栏目,右边是内容部分。尤其在后台的场景,是非常常用的。如下图所示:



HTML部分

<div class="container"><!-- 测导航 --><aside class="container__sidebar">...</aside><!-- 内容部分 --><main class="container__main">...</main>
</div>

CSS部分

.container {display: flex;
}.container__sidebar {width: 30%;
}.container__main {/* 占据剩余的宽度 */flex: 1;/* 超出显示滚动条 */overflow: auto;
}

6、简单的网格布局

接下来我们使用弹性布局的方式,灵活实现网格布局,如下图所示:



HTML部分

<div class="row"><!--只占据指定父容器宽度的25%--><div class="row__cell row__cell--1-4">25%</div><!-- 占据剩余宽度空间 --><div class="row__cell row__cell--fill">...</div>
</div>

css部分

.row {display: flex;margin-left: -8px;margin-right: -8px;
}.row__cell {padding-left: 8px;padding-right: 8px;
}/* 在给定的容器内占据宽度的25%,不再与剩余的元素争夺空间 */
.row__cell--1-4 {flex: 0 0 25%;
}/* 占据剩余容器的宽度 */
.row__cell--fill {flex: 1;
}

7、Split screen(平分屏幕)

类似在IPAD上的分屏业务场景,两个应用平分屏幕进行显示,如下图所示:



HTML部分

<div class="container"><!-- 左部分 --><div class="container__half">...</div><!-- 右部分 --><div class="container__half">...</div>
</div>

CSS部分

.container {display: flex;
}.container__half {flex: 1;
}

8、Sticky footer(底部吸附效果)

在网页设计中,Sticky footers设计是最古老和最常见的效果之一,大多数人都曾经经历过。它可以概括如下:如果页面内容不够长的时候,页脚块粘贴在视窗底部;如果内容足够长时,页脚块会被内容向下推送。如下图所示:



HTML部分

<div class="container"><header class="container__header">...</header><main class="container__main">...</main><footer class="container__footer">...</footer>
</div>

CSS部分

.container {display: flex;flex-direction: column;height: 100%;
}.container__header,
.container__footer {flex-shrink: 0;
}.container__main {flex-grow: 1;
}

9、Sticky header(顶部吸附固定)

在实际业务中经常碰到页头固定在浏览器的顶部,如下图所示:


HTML部分

<div><header class="header">...</header><main>...</main>
</div>

CSS部分

.header {/* 顶部吸附 */position: sticky;top: 0;
}

10、Sticky sections(内容吸附)

内容区域的吸附效果也是一种很常见的效果,如下图所示:

HTML部分

<div class="container"><section class="container__section">...</section><!-- Repeat other sections -->...
</div>

CSS部分

.container {height: 100%;overflow: scroll;
}.container__section {/* 占满容器 */height: 100%;width: 100%;/* 吸附顶部 */position: sticky;top: 0;
}

结束

今天的文章就分享到这里,希望对你日常的业务有所帮助,感谢你的阅读。

内容来源:https://github.com/1milligram/csslayout

分享 10 个常见的 CSS 页面布局代码片段相关推荐

  1. 常见的CSS页面布局方式

    详情:CSS页面结构是我们日常生活中最常使用到的,当然目前可能大家用的最多的是elementUI实现布局,简单方柏霓,下面介绍几种常见的原生页面布局的方式 公共的样式部分 <style>* ...

  2. CSS页面布局(超详解)

    目录 1 CSS页面布局概述 1.1 概述 1.2 网页栏目划分 1.3 元素类型转化 1.3.1 块元素 1.3.2 行内元素 1.3.2 块元素和行内元素的转换 1.4 定位 1.4.1 静态定位 ...

  3. html超链接样式顺序,CSS页面布局常用知识汇总(超链接样式)

    CSS中的知识非常多,我们不可能全都记得住.闲暇时整理了一些CSS页面布局的常用知识,这篇文章就和大家分享一下CSS超链接样式的常用知识.需要的朋友可以参考一下,希望可以帮助到你. 设计网页时,我们可 ...

  4. 20个不错的CSS页面布局相关资源推荐

    本篇文章搜集整理的是CSS页面布局的一个很长的列表.如果你时间很少,那么可以下载已经准备好的CSS页面布局,如果你想进行个性化的尝试,下面列出了一些站点你可以不需过多努力而达到效果. 漂亮.免费的CS ...

  5. css左右布局代码_如何使用CSS位置来布局网站(带有示例代码)

    css左右布局代码 Using CSS position to layout elements on your website can be hard to figure out. What's th ...

  6. 【机器学习】交叉验证详细解释+10种常见的验证方法具体代码实现+可视化图

    [机器学习]交叉验证详细解释+10种常见的验证方法具体代码实现+可视化图 一.使用背景 由于在训练集上,通过调整参数设置使估计器的性能达到了最佳状态:但在测试集上可能会出现过拟合的情况. 此时,测试集 ...

  7. 前端必经之路:CSS页面布局(深入理解浮动布局、定位布局、圣杯布局和双飞翼布局等重要布局方案)

    建筑师在对一栋建筑物进行施工之前,首先会根据建筑图纸上的平面图.立体图.剖面图和构造详图等对建筑物进行整体布局后再从局部施工(当然不排除有先装修完厕所再砌卧室围墙的奇葩).在一个网页页面的搭建过程中, ...

  8. vue在html中写style,vue开发之style(六)(CSS页面布局之样式、背景、文字)

    最近在学vue开发,并且将学习笔记与大家一起分享,前面讲了vue环境的搭建: 基于vscode的Vue前端环境搭建问题及解决办法 还有vue的使用,重点就在webpack这个: vue开发之webpa ...

  9. div+css页面布局课堂笔记11---页面布局网站首页设计实例__终极版(仿csdn首页)

    1. firstPage.html文件: <span style="font-size:14px;"><!doctype html> <html> ...

最新文章

  1. vc 递归删除非空文件夹
  2. Go实战--也许最快的Go语言Web框架kataras/iris初识三(Redis、leveldb、BoltDB)
  3. [WPF系列]-DynamicResource与StaticResource的区别
  4. 基于Dapper二次封装了一个易用的ORM工具类:SqlDapperUtil
  5. 8、奇怪的表达式求值--2017网易春招
  6. angularjs探秘五 举足轻重的scope
  7. ssh时,密码输入框(密码输入提示)很晚才出现的解决方法
  8. go语言linux下开发工具,LiteIDE 开发工具指南 (Go语言开发工具)
  9. Linux修改终端提示符
  10. 16 年前,Google 为何花 5000 万美元买下 Android?
  11. bzoj 3209: 花神的数论题 喵哈哈村的秘境探险(四)
  12. python zip函数_Python zip()函数
  13. 日更第4期-2015-1-19-openFrameworks系列第三讲-面向对象的小球们
  14. SPSS多重响应分析(多选题)【SPSS 016期】
  15. java 定时为每月10号_Java定时任务配置(Scheduled注解)
  16. VO、DTO、DO、PO
  17. 阿里云Linux服务器如何安装ClamAV杀毒软件-最全详细教程
  18. WPF3D图片轮播效果
  19. 解决端口被占用问题(以80端口为例)
  20. 手把手教你写第一个C语言程序

热门文章

  1. 《算法竞赛中的初等数论》(一)正文 0x00整除、0x10 整除相关(ACM / OI / MO)(十五万字符数论书)
  2. 树莓派Pico开发板与大功率MOSFET/IGBT器件驱动控制24V直流电机技术实践
  3. mysql lbs_基于LBS的地理位置附近的搜索以及由近及远的排序(MYSQL)
  4. web学习一——We简介、Tomcat、HTTP协议
  5. springboot+maven+jwt学生信息增删查改
  6. 一个常用的电池包电压检测电路
  7. SEED-RL安装教程
  8. ERC20接口下USDT代币的深入解析
  9. 特斯拉Tesla Model 3整体架构解析
  10. 最佳平方逼近 matlab,最佳平方逼近的Matlab