CSS3中新颖的布局方法
本人已经很久没用 bootstrap 什么的了,而现阶段一点卑微的梦想就是自己做框架,毕竟也才入门不久。
所以在寻找布局的共通性/稳定性及拓展性时,会发觉 CSS3 的这三种方法比栅栏布局要有趣得多。
可以说有了这些,不用那么强迫症地扣像素,设不设宽高也已经不重要,留白居中之类的更不用各种偏移位置了。
来罗列一下:
1. columns(更适用于等宽)
column-width:[<length>|auto] 定义每栏的宽度 column-span:1|all 1:只在本栏中显示;all:横跨所有栏目并定位在栏目的Z轴之上。 column-rule-color:<color> 定义每栏之间边框的颜色 column-rule-width:<length> 定义每栏之间边框的宽度 column-rule-style:none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset 边框样式 column-gap:normal|<length> 定义两栏之间的间距距离 column-fill:auto|balanc 定义栏目的高度是否统一 (auto:各栏随意;balance:以最高的为统一) column-count:auto|整数 可以定义栏目的数目 column-break-before:auto|always|avoid 定义元素之前是否断行 column-break-after:auto|always|avoid定义元素之后是否断行
两栏就是 column-count:2; 三栏就是 column-count:3; 这样写起来真是酣畅淋漓...
2. box-flex(更适用于单排)
display: box|inline-box box-flex: <number> (子级元素所占的比例) box-orient: horizontal|vertical|inline-axis|bloack-axis|inherit (横排|竖排|横排|竖排|清除) box-direction: normal|reverse|inhert (顺序|倒序|清除) box-align: stretch|start|end|center|baseline (全高|顶部对齐|底部|居中|文本基线) box-pack: start|end|center|justify (靠左对齐|靠右|居中|自动) box-lines: single|nultiple (不换行|换行) box-ordinal-group: <number> (排序)
一排当中,有的是定宽其他就填充,水平+垂直居中也是 so easy
3. flex(变化更多)
display: flex|inline-flex inline-flex适用于行内元素 flex-direction: row|row-reverse|column|column-reverse (水平|水平反方向|垂直|垂直反方向) flex-wrap: nowrap|wrap|wrap-reverse (不换行|换行|换行且第一排在下方) flex-flow: <flex-direction> <flex-wrap> (省写) justify-content: flex-start|flex-end|center|space-between|space-around align-items: stretch|flex-start|flex-end|center|baseline align-content: stretch|flex-start|flex-end|center|space-between 上面都是父级元素设置的玩意,下面是子级可以设的 order:<number> (默认为0,可以给子级排序) flex-grow: <number> (默认为0,为其他值则为抢占剩余空间的比例) flex-shrink: <number> (默认为1,为0时,空间不足时该元素宽高不缩小) flex-basic: auto|<length> (默认为auto,有值时,空间足够时该元素宽高不缩小) flex: none|<flex-grow> <flex-shrink> <flex-basic> (缩写) align-self: auto|flex-start|flex-end|center|baseline|stretch
这个就很全面了,以上两种的有点都有,而且不但能设父级的,还能设子级的。
但 CSS3 属性的兼容性嘛,实在不好多说什么,不过向来不太考虑兼容的小贱人我,粗暴地调用 prefixfree.min.js 就好了。
CSS3中新颖的布局方法的更多相关文章
- CSS3中的弹性布局——"em"的用法
使用CSS也好久了,但一直都是在使用“px”来设置Web元素的相关属性,未敢使用“em”.主要原因是,对其并不什么了解,只知道一点概念性的东西,前段时间在项目中要求使用“em”作为单位设置元素,所以从 ...
- 三分钟学会CSS3中的FLEXBOX布局
原文地址,保护版权,请勿转载:http://page.factj.com/blog/p/2574 这篇文章里我们将学习CSS里flexbox布局的几个最重要的概念,通过学习flexbox布局,你会发现 ...
- css3中的布局相关样式
web页面中的布局是指在页面中如何对标题.导航栏.主要内容.脚注.表单等各种构成要素进行合理编辑.在css3之前,主要使用float属性或position属性进行页面中的简单布局,但是也存在一些缺点, ...
- flex 布局 初次接触这个好使又不是特别好用的布局方法
刚开始学前端的童鞋们应该也是一样先学习的table然后再学习了盒子模型,感觉终于学会了简单的网页布局,使用各种display,float,position绞尽脑汁给页面布局成自己想要的页面样式,然而, ...
- css3中的@font-face你真的了解吗
css3中的自定义字体方法@font-face @font-face属性可以让我们自定义网站字体属性,然后引用到想要应用该字体的元素上. 基本语法: @font-face { font-family: ...
- CSS3中flexbox如何实现水平垂直居中和三列等高布局
最近这些天都在弥补css以及css3的基础知识,在打开网页的时候,发现了火狐默认首页上有这样一个东西.
- Css3中的响应式布局的应用
Media Queries直译过来就是“媒体查询”,在我们平时的Web页面中head部分常看到这样的一段代码: <link href="css/reset.css" rel= ...
- CSS3中的Flexbox弹性布局(一)
CSS3引入了一种新的布局模式——Flexbox布局,即伸缩布局盒模型(Flexible Box),用来提供一个更加有效的方式制定.调整和分布一个容器里项目布局,即使它们的大小是未知或者动态的,这里简 ...
- 浅谈CSS3中display属性的Flex布局
浅谈CSS3中display属性的Flex布局 最近在学习微信小程序,在设计首页布局的时候,新认识了一种布局方式display:flex 1 .container { 2 display: fle ...
随机推荐
- windows下mysql区分大小写敏感问题
默认情况下,表别名在Unix上区分大小写,但在Windows或macOS上不是这样.以下语句在Unix上不起作用,因为它引用别名as a和as A: mysql> SELECT col_name ...
- 第一百七十二节,jQuery,动画效果
jQuery,动画效果 学习要点: 1.显示.隐藏 2.滑动.卷动 3.淡入.淡出 4.自定义动画 5.列队动画方法 6.动画相关方法 7.动画全局属性 一.显示.隐藏 jQuery 中显示方法为:. ...
- Hibernate使用Log4j日志记录(使用properties文件)
我们知道,Log4j和Logback框架可用于支持日志记录hibernate,使用log4j有两种执行日志记录的方法: 通过log4j.xml文件(或) 通过log4j.properties文件 在这 ...
- windows中控制台窗口和普通窗口有什么区别?
1. 窗口都是windows标准窗口,有窗口句柄,但是console window没有消息循环,直接从缓冲区读数据,显示数据. windows中普通窗口都有自己的窗口过程, 我可以使用SetWindo ...
- JavaScript核心(晋级高手必读篇)
本文是对“ECMA-262-3 in detail”系列学习内容的概述与总结.如果你对ES3系列文章感兴趣,本文每一节内容均包含相应ES3系列章节的链接,以供阅读与获取更深入的解释. 本文预期读者:有 ...
- 使用PHP函数输出前一天的时间和后一天的时间
1.明确date()函数和time()函数的功能,其中time()函数是获取时间戳函数 2.输出前一天的当前时间: echo '一天之前的时间为:'.date('Y-m-d H:i:s',time() ...
- 在PC端或移动端应用中接入商业QQ
前两天在做一个项目XXX的时候,遇见一个问题,在页面中需要接入企业的QQ,在查找腾讯API后无果,则请求人工服务,然后人家给一网址(就是API接口),然后你只需要登录你的QQ,然后选择相应的显示类型, ...
- PHP+MySQL:测试连接+基本DB操作
PHP使用MySQL,从连接.创建.到结果显示 <?php //连接MySQL测试 $db = mysql_connect("localhost","root&qu ...
- poj 3270(置换 循环)
经典的题目,主要还是考思维,之前在想的时候只想到了在一个循环中,每次都用最小的来交换,结果忽略了一种情况,还可以选所有数中最小的来交换一个循环. Cow Sorting Time Limit: 200 ...
- fzu2181(点的双连通分量+求奇环)
求出每个点双连通分量,如果在一个点双连通分量中有奇环,则这个分量每个点都在一个奇环中. 关键是要知道怎么求点双连通分量以及点双连通的性质. fzu2181 http://acm.fzu.edu.cn ...