BFC之宽度自适应布局篇】的更多相关文章

说到自适应布局,我们曾在“抛砖引玉之宽度自适应布局”一文中学习过.当时的核心思想主要是利用float+margin的形式.利用块状元素的流体特性,然后计算出float元素的宽度,并赋予到块状元素的相应margin中.但是这么做是有个缺点的,就是我们每次都得知道float元素的宽度,然后赋予到块状元素的margin. 然而,我们在”BFC之浅析篇”中学习到BFC有一特性:BFC的区域不会与外部浮动元素重叠.并且利用了这一特性,实现了两栏自适应布局.我们再来回顾下. <!DOCTYPE html>…
利用table-cell可以实现宽度自适应布局. table-cell有一些比较好用的属性,比如垂直居中,自适应高度宽度等,为元素设置table-cell布局之后,元素的margin失效,padding有效, 而且一旦元素设置了float或者absolute,则table-cell也会失效. table-cell不兼容IE6,7.但是可以通过触发hasLayout来实现近似的效果. 以下可以实现宽度自适应布局: <div class="wrapper"> <img s…
一.BFC元素简介与基本表现. BFC全程"Block Formatting Context",中文为"块级格式化上下文".记住一句话:BFC元素特性表现原则就是,内部子元素再怎么翻江倒海,翻雨覆雨都不会影响外部的元素.所以,避免margin穿透.清楚浮动什么的也就好理解了. 什么时候出发BFC呢? 常见的情况如下: -> float 的值不为none ; -> overflow 的值为auto,scroll或hidden; -> display的…
主要运用到的是:布局神器display:table-cell 元素两端对齐 第一个案例是让两个元素分别向左和向右对齐,如果是过去,我一定会用float来实现,但其实用table可以这么做: 自动平均划分每个小模块,使其一行显示 第二个案例我们先看看图: 遇到上面这种布局,一般会用float来做,或者把每个li设置成display:inline-block;来做,并且都要设置给他们设置一个宽度,而且最痛苦的是5个li如果你设置width:20%;他们一定会掉下来,如果li都设置成display:t…
目标: <!DOCTYPE html> <meta charset=utf-8> <html> <head> <title>alibaba</title> <style type="text/css"> .main{ margin: 5px; overflow: hidden; /* border: 1px solid #000;*/ } .column{ border: 1px solid #000;…
这篇文章发布于 2015年02月12日,星期四,23:36,归类于 css相关. 阅读 30873 次, 今日 63 次 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=4588 一.开篇之言 要说web上实现两栏自适应布局的方法,一双手都数不过来.不知大家有没有细想过,为什么这些方法可以实现自适应布局呢? 本文就将深入探讨下流体特性和BFC特性下的两栏自适应布局,还是…
一.块状元素的流体特性与自适应布局 块状元素像放在容器中的水流一样,内容区域会随着margin, padding, border的出现自动填满剩余空间,这就是块状元素的流体特性. 来一个小实验: div { margin-left:100px: width:100%: } 此时发现,左侧永远100px留白,而div随着容器宽度变化而自适应变化了 我们需要好好利用左侧100px的留白间距,岂不是就可以实现两栏自适应效果? 为了不影响原本的流体特性,我们可以使用破坏性属性,如浮动(float:lef…
来源:http://blog.csdn.net/cinderella_hou/article/details/52156333 所谓三列自适应布局指的是两边定宽,中间block宽度自适应.这道题在今年网易内推前端工程师面试的时候也被问到. 我这里主要分为两大类,一类是基于position传统的实现,一类是基于css3新特性弹性盒模型布局实现. 1. 基于传统的position和margin等属性进行布局    这里也分为三种方法,分别为绝对定位法,圣杯布局,自身浮动法. 1).绝对定位法    …
css这个东西,说难不难,说容易也不容易.我觉得最重要的还是经验的积累,正所谓的不积硅步,无以至千里.这一系列文章讲述几种css特殊布局的实现,也当作为自己做个备忘吧. 首先讲的是三列布局,左右两列宽度固定,中间一列宽度自适应 这个很好实现,左右两列分别左浮动和右浮动并给一个固定宽度,中间不浮动,也不设定宽度.(这个是有问题的,后面说明)这样基本就可以了.但为了兼容IE还必须做些工作. 看下代码结构: 效果为: 中间列要不要设置margin-left和margin-right ? 注意,中间那列…
标题严格遵守了新广告法,你再不爽,我也没犯法呀!话不多说,直入正题. 所谓布局,其实包含两个含义:尺寸与定位.也就是说,所有与尺寸和定位相关的属性,都可以用来布局. 大体上,布局中会用到的有:尺寸相关的盒子模型,普通流.浮动.绝对定位三种定位机制,CSS3中的transform.弹性盒子模块.试验中的grid模块.逛园子的时候经常可以看到浮动布局,inline-block布局,弹性盒布局这几个名词.现在对布局也算有一点了解,做个总结巩固一下.如果你也看了很多资料,但是实际动手时对布局还是无从下手…