制作简约CSS栅栏布局

众所周知,Bootstrap内置了一套响应式、移动设备优先的流式栅格系统,随着显示屏幕或视口的改变,自动改变相应的布局。

作者在前段时间用过bootstrap框架,印象最深刻,使用最频繁的便是这栅栏布局,但如果仅仅是为了使用这个栅栏布局就引入一个框架,这明显是非常不明智的,所以便根据bootstrap框架做了一个简约的栅栏布局。

栅栏系统的组成:

1.container 包裹栅栏的容器

2.row 行

3.column 列

首先,这个栅栏系统需要一个总的容器,这样column(列)才能用百分比设置宽高。.container{

width:100%;

max-width:1366px;

padding:015px;

}

这里为容器(container)添加一个左右padding,是为了防止内容碰触浏览器边缘。

接下来是行(row)

行元素用于防止里面的列( column )溢出到其他的行,接下来的列(column)将会使用浮动布局,所以在row中要清楚浮动,这里,我们采用伪类里添加clear:both.row:before,.

row:after{

content:" ";

display:table;

clear:both;

}

.row{margin:0-15px;}

为row(行)添加margin-left:-15px 和 margin-right:-15px 用来抵消container中的padding,使background、border等属性可以覆盖到浏览器边缘。

最后是列(column)

我们先为列设置最基本的样式[class*='col-']{

position:relative;

float:left;

min-height:1px;

padding:0 15px;

}

这里我们把一行(row)分成12列,通过简单的计算就可得出每行的宽度:.col-12{

width:100%;

}

.col-11{

width:91.66666667%;

}

.col-10{

width:83.33333333%;

}

.col-9{

width:75%;

}

.col-8{

width:66.66666667%;

}

.col-7{

width:58.33333333%;

}

.col-6{

width:50%;

}

.col-5{

width:41.66666667%;

}

.col-4{

width:33.33333333%;

}

.col-3{

width:25%;

}

.col-2{

width:16.66666667%;

}

.col-1{

width:8.33333333%;

}

由于列(column)的宽度单位为响应式的%,我们又设有左右padding,所以为了防止复杂的计算,我们把container中的所有元素都设:box-sizing: border-box;.container*{

box-sizing:border-box;

}

这样就可以避免一次次的加减,避免宽度过大而换行的问题了。

为列设置偏移量.col-offset-12 {

margin-left: 100%;

}.col-offset-11 {

margin-left: 91.66666667%;

}.col-offset-10 {

margin-left: 83.33333333%;

}

之后代码以此类推。

这样,一个栅栏系统就完成了!可以写一个简单的样例进行测试。

研究了半天,不知道怎么放HTML代码...大家自己测验下吧~

最后,为栅栏系统设置响应式布局

响应式布局是利用HTML5的media查询来查询屏幕宽度,进而进行CSS的修改。

这里,当我们的屏幕宽度小于960px时,我们采用两倍列的宽度,即两列变一列:@mediaall and (max-width:960px){

.col-12{

width:100%;

}

.col-11{

width:100%;

}

.col-10{

width:100%;

}

.col-9{

width:100%;

}

.col-8{

width:100%;

}

.col-7{

width:100%;

}

.col-6{

width:100%;

}

.col-5{

width:83.33333333%;

}

.col-4{

width:66.66666667%;

}

.col-3{

width:50%;

}

.col-2{

width:33.33333333%;

}

.col-1{width:16.66666667%;}

这样,一个基本的栅栏系统就完成了,当然你还可以根据媒体查询,查询屏幕宽度小于640,320等,这些就不再重复累赘。

栅栏布局合并html,制作简约CSS栅栏布局相关推荐

  1. dw 网页 html 布局,Dreamweaver网页制作之CSS布局规则

    Dreamweaver网页制作之CSS布局规则 导语:Dreamweaver网页制作过程必须用到的是CSS语言,下面就由小编为大家介绍一下Dreamweaver网页制作之CSS布局规则,欢迎大家阅读! ...

  2. html图片文字 网格布局,【图片版】CSS网格布局(Grid)完全教程

    ## 简言 CSS网格布局(Grid)是一套二维的页面布局系统,它的出现将完全颠覆页面布局的传统方式.传统的CSS页面布局 一直不够理想.包括table布局.浮动.定位及内联块等方式,从本质上都是Ha ...

  3. html布局和怎么起类名,CSS网页布局ID和Class类的命名介绍

    关于CSS网页布局id与class命名或许成为大家比较头疼的问题,在webjx.com中早已有相关的介绍,但还是不能满足大家对知识的渴求. 一.用class_name方式写类名. 以前喜欢用class ...

  4. 默认布局换行_自学整理 CSS Flex 布局

    引言 最近记性特别不好,居然忘记 Flex 布局子项居中怎么写了,于是又看了一遍阮一峰老师的<Flex 布局教程>,为了能够加深记忆,边做记录边练习,因此整理本文作为自学笔记. 本文来源: ...

  5. 【CSS 网格布局 (Grid Layout )】

    CSS 网格布局 Grid Layout CSS 网格布局 Grid Layout 1. CSS 网格布局的基本概念 1.1 网格 相关术语 1.2 网格布局的 属性分类 2. grid 属性: 同时 ...

  6. html中怎么写排行榜,div css列表布局排行榜代码

    特效描述:div css列表布局 排行榜代码.div css列表布局排行榜代码 代码结构 1. 引入CSS 2. HTML代码 问问专家 问问专家 在社区问问最专业的知识贡献用户 委婉小小 闻道有先后 ...

  7. 响应式布局html像素值计算,CSS Calc():制作响应式网格布局的锋利武器

    响应式的布局方式是当下最为流行网页布局.对于一个响应式的网格系统,可以有多种的解决方案.在这篇文章中,我们将和大家分享使用CSS calc()函数来制作响应式网格的一些知识. With calc(), ...

  8. css响应式布局_用 CSS Grid 布局制作一个响应式柱状图

    最新一段时间比较喜欢玩弄图表,出于好奇,我想找出比较好的用 CSS 制作图表的方案.开始学习网上开源图表库,它对我学习新的和不熟悉的前端技术很有帮助,比如这个:CSS Grid. 今天和大家分享我学到 ...

  9. dreamweaver cs5 css教程,网页设计与制作——Dreamweaver CS5标准教程第12章 CSS+Div布局.pptx...

    第12章 CSS+Div布局;1. 盒子模型2. 布局技术3. "上中下"布局4. "左中右"布局;12.1.1盒子结构网页中元素都占据一定的空间,除了元素内容 ...

  10. dreamweaver html语言,Dreamweaver网页设计与制作(HTML+CSS+JavaScript)

    Dreamweaver网页设计与制作(HTML+CSS+JavaScript) 编辑 锁定 讨论 上传视频 本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! <Dream ...

最新文章

  1. 「倚天」一出,谁与争锋!全球首款5nm服务器芯片,业界最强
  2. AI领域「听风者」:声纹识别5大核心知识点!
  3. 用计算机画函数图像教案,信息技术应用 用计算机画函数图象教案1
  4. python获取当前年份_Python根据当前日期取去年同星期日期
  5. java面试题解惑_JAVA面试题解惑系列(五)——传了值还是传了引用?
  6. 分离数据库(Detach database).
  7. leetcode 141. 环形链表(快慢指针解法)
  8. 下拉多选择框 实现方式_物体检测之旅(三)|设计选择,经验教训和物体检测的趋势...
  9. #define typedef 区别
  10. oracle中sequence详解
  11. C# OpenTK教程 - 1.1 创建窗口
  12. (转)Spring Boot(四):Thymeleaf 使用详解
  13. ApacheCN DevOps 译文集 20211227 更新
  14. @Autowired 与 @Resource的区别
  15. plc模拟器软件_你的PLC和触摸屏为什么总是通讯不上?
  16. python查找字符串出现次数_python实现从字符串中找出字符1的位置以及个数的方法...
  17. Linux C enum
  18. 软件工程基础-个人项目-数独的生成与求解
  19. 系统分析师-论文准备
  20. thinkpad X230 黑屏折腾

热门文章

  1. 5G+智能电网应用项目开建,将带来何种“活力”?
  2. Telos 小白指南
  3. HTML+CSS学习——奥运五环代码
  4. 蚂蚁金服java年终奖,蚂蚁金服发布年终奖调查结果 超六成人无缘年终奖
  5. 沧海一声笑计算机版本,各个版本的《沧海一声笑》,古韵十足
  6. pyqt项目——测温仪数据采集软件
  7. python 学习(三)
  8. postgresql 导出单张表
  9. Flutter 内外边距
  10. android obtain,Android 模拟Message.obtain(),构建自己的缓存池