css3中webkit-box的实现多栏自适应布局

我们经常会在手机端看到这种布局,要适应各种分辨率:

之前要实现横列的web布局,通常就是float或者display:inline-block; 但是都不能做到真正的流体布局。至少width要自己去算百分比。但是用flexible box 就可以实现真正意义上的流体布局。只要给出相应属性,浏览器会帮我们做额外的计算。

关于盒模型的几个属性:

box-orient           子元素排列 vertical or horizontal
box-flex             兄弟元素之间比例,仅作一个系数
box-align            box 排列
box-direction        box 方向
box-flex-group       以组为单位的流体系数
box-lines
box-ordinal-group    以组为单位的子元素排列方向

三列自适应布局有padding,有边框,用flexible box实现

                <div class="shop_info_nav">
                    <div class="shop_info_btn">
                        <a href="javascript:;" class=‘btn‘>
                            <span>全部商品</span>
                            <i>16</i>
                        </a>
                        <a href="javascript:;" class=‘btn btn_item‘>
                            <span>最新上架</span>
                            <i>2</i>
                        </a>
                        <a href="javascript:;" class=‘btn btn_item btn_sort‘>
                            <span>商品分类</span>
                            <i></i>
                        </a>
                    </div>
                </div>    

css代码:

.shop_info_nav {
    border-top: 1px solid #D7D7D7;
}

.shop_info_btn {
    padding-top: 10px;
    margin:0px 10px;
    display: -webkit-box;
}

.shop_info_btn .btn {
    display: block;
    position: relative;
    -webkit-box-flex:1;
    height:43px;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    color:#666;
    text-align: center;
}

.shop_info_btn .btn_item:after {
    height:32px;
    width:1px;
    content: ‘‘;
    background: #DCDCDC;
    display: block;
    top:0px;
    position: absolute;
}

.shop_info_btn span {
    font-size: 14px;
}

.shop_info_btn i {
    display: block;
    margin-top: -4px;
}

.btn_sort i {
    background-image: url(../images/v4_spr_3.png);
    background-repeat: no-repeat;
    background-size: 14px auto;
    background-position: 0px -12px;
    width:14px;
    height:14px;
    margin: 0 auto;
}

利用flexible box即可快速实现

时间: 2024-12-26 01:25:01

css3中webkit-box的实现多栏自适应布局的相关文章

css 多栏自适应布局

在页面重构中,我们经常会需要实现多栏布局,例如n栏固定宽度 + m栏自适应宽度的组合,绝对布局+padding+百分比宽度是容易想到的比较暴力的解决方法,但是作为未来的"工程师",我们应该需求一些优雅点的方法.先说说两栏布局,上例子: <div class='container' > <div class='div1' >1</div> <div class='div2' >2</div> </div> 如图,假如

【转】CSS深入理解流体特性和BFC特性下多栏自适应布局

这篇文章发布于 2015年02月12日,星期四,23:36,归类于 css相关. 阅读 30873 次, 今日 63 次 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=4588 一.开篇之言 要说web上实现两栏自适应布局的方法,一双手都数不过来.不知大家有没有细想过,为什么这些方法可以实现自适应布局呢? 本文就将深入探讨下流体特性和BFC特性下的两栏自适应布局,还是

圣杯 双飞翼布局 多栏自适应布局BFC

七种实现左侧固定,右侧自适应两栏布局的方法 圣杯布局 双飞翼布局 圣杯布局和双飞翼布局 CSS深入理解流体特性和BFC特性下多栏自适应布局 块状元素的流体特性. 图片宽度一直width:100%,结果随着margin, padding, border的出现,其可用宽度自动跟着减小,形成了自适应效果.就像放在容器中的水流一样,内容区域会随着margin, padding, border的出现自动填满剩余空间(box-sizing:border box;感觉) 然而,利用块状元素流体特性实现的自适应

多栏自适应布局

一.两栏自适应,左右栏高度均200px, 左栏宽度自适应,右栏宽度200px <!--html代码--> <div class="right"></div> <div class="left"></div> * { margin: 0; padding: 0; } /*方案一*/ .right { width: 200px; height: 200px; background-color: orange;

两栏三栏自适应布局

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> html,body{width:100%;height:100%;overflow:hidden;} html{_height:auto;_padd

三栏自适应布局

常用的有三种方式: 1.绝对定位法(最易理解) 左右两栏采用绝对定位,分别固定于页面的左右两侧,中间的主体栏用左右margin值撑开距离.于是实现了三栏自适应布局. 1 <html> 2 3 <head> 4 5 <title>三栏自适应布局</title> 6 7 <style type="text/css"> 8 9 html,body{ 10 11 margin:0; 12 13 height:100%; 14 15 }

利用CSS3中的clac()实现按照屏幕分辨率自适应宽度

1.简介 calc()看其外表像个函数.平时在制作页面的时候,总会碰到有的元素是100%的宽度(例如body元素).如果元素宽度为100%时,其自身不带其他盒模型属性设置还好,要是有别的,那将导致盒子撑破.比如说,有一个边框,或者说有margin和padding,这些都会让你的盒子撑破.我们换句话来说,如果你的元素宽度是100%时,只要你在元素中添加了border,padding,margin任何一值,都将会把元素盒子撑破(标准模式下,除IE怪异模式).平时我们碰到这样的现象时,只能通过改变结构

使用CSS实现三栏自适应布局(两边宽度固定,中间自适应)

来源:http://blog.csdn.net/cinderella_hou/article/details/52156333 所谓三列自适应布局指的是两边定宽,中间block宽度自适应.这道题在今年网易内推前端工程师面试的时候也被问到. 我这里主要分为两大类,一类是基于position传统的实现,一类是基于css3新特性弹性盒模型布局实现. 1. 基于传统的position和margin等属性进行布局 这里也分为三种方法,分别为绝对定位法,圣杯布局,自身浮动法. 1).绝对定位法 绝对定位法原

(转转转)使用CSS实现三栏自适应布局(两边宽度固定,中间自适应)

所谓三列自适应布局指的是两边定宽,中间block宽度自适应.这道题在今年网易内推前端工程师面试的时候也被问到. 我这里主要分为两大类,一类是基于position传统的实现,一类是基于CSS3新特性弹性盒模型布局实现. 1. 基于传统的position和margin等属性进行布局 这里也分为三种方法,分别为绝对定位法,圣杯布局,自身浮动法. 1).绝对定位法 绝对定位法原理是将左右两边使用absolute定位,因为绝对定位使其脱离文档流,后面的center会自然流动到他们上面,然后使用margin