美文网首页css
CSS:两栏布局

CSS:两栏布局

作者: 肆意咯咯咯 | 来源:发表于2018-05-02 16:36 被阅读0次

1.直接float:left;

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .wrapper{
                width:100%;
            }
            .left{
                width:120px;
                float:left;
                background-color:lightpink;
            }
            .right{
                background-color:#FF6C60;
            }
        </style> 
    </head>
    <body>
        <div class="wrapper" id="wrapper">
            <div class="left">
                左边固定宽度,高度不固定 </br> </br></br></br>高度有可能会很小,也可能很大。
            </div>
            <div class="right">
                这里的内容可能比左侧高,也可能比左侧低。宽度需要自适应。</br>
                基本的样式是,两个div相距20px, 左侧div宽 120px
            </div>
        </div>
    </body>
</html>

2.absolute+margin-left;

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .parent{
                width:100%;
                position:relative;
            }
            .left{
                width:100px;
                height:200px;
                background-color:cornflowerblue;
                position:absolute;
            }
            .right{
                width:100%;
                height:300px;
                background-color:palevioletred;
                margin-left:100px;
            }
        </style>
    </head>
    <body>
        <div class="parent">
            <div class="left">left</div>
            <div class="right">right</div>
        </div>
    </body>
</html>

3.使用float:left+margin-left:-aside子元素宽度

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            *{
                padding:0;
                margin:0;
            }
            #header,#footer{
                width:100%;
                height: 100px;
                overflow: hidden;/*触发BFC*/
                background-color:#CCCCCC;
            }
            #main .center{
                height: 200px;
                width: 100%;
                float: left;
            }
            #main .center .content{
                width:100%;
                height:200px;
                background-color:#FF6600;
                margin-right:100px;
            }
            #main .aside{
                width:100px;
                height:200px;
                margin-left:-100px;
                background-color: #FF0000;
                float:left;
            }
        </style>
    </head>
    <body>
        <div id="header">header</div>
        <div id="main">
            <div class="center">
                <div class="content">
                    我是主区块 我是主区块 main main  main
                </div>
            </div>
            <div class="aside"></div>
        </div>
        <div id="footer">footer</div>
    </body>
</html>

注意:设置浮动,center设置宽度为100%,需要优先渲染,要写在前面;

4.使用float+overflow

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .wrapper {
                padding: 15px 20px;
                border: 1px dashed #ff6c60;
            }
            .left {
                width: 120px;
                margin-right:20px;
                float:left;
                border: 5px solid #ddd;
            }
            .right {
                overflow:hidden;
                border: 5px solid #ddd;
            }
        </style> 
    </head>
    <body>
        <div class="wrapper" id="wrapper">
            <div class="left">
                左边固定宽度,高度不固定 </br> </br></br></br>高度有可能会很小,也可能很大。
            </div>
            <div class="right">
                这里的内容可能比左侧高,也可能比左侧低。宽度需要自适应。</br>
                基本的样式是,两个div相距20px, 左侧div宽 120px
            </div>
        </div>
    </body>
</html>

5.使用flex+flex:1

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .wrapper{
                width:100%;
                display:flex;
                position:absolute;
                top:0;
                bottom:0;
                /*align-items: stretch;*/
            }
            .left{

                /*flex:0 0 auto;*/
                background-color:#FF6C60;
            }
            .right{
                flex: 1;
                background-color:#FF0000;
            }
        </style>
    </head>
    <body>
        <div class="wrapper">
            <div class="left">我是左边</br>啦啦啦啦啦啦</div>
            <div class="right">我是右边</div>
        </div>
    </body>
</html>
注意:display:flex;默认align-items:stretch(拉伸);所有子元素的高度为元素的最高高度;flex:1;即{flex-grow:1;flex-shrink:1;flex-basis:0%;}

相关文章

  • css布局

    一、CSS左右布局: 结果如下图(flex): 两栏 代码如下:两栏代码 二、CSS左中右布局: 结果如下图(f...

  • CSS:两栏布局

    1.直接float:left; 2.absolute+margin-left; 3.使用float:left+ma...

  • css两栏布局

    实现左侧固定,右侧自适应。思路,布局最关键的是让block元素并排排列,简单用float就行。之后就是画两个矩形就...

  • CSS两栏布局

    工作中需要实现下图这种效果: 搜索框宽度随屏幕动态变化,搜索按钮宽度固定。 这其实是经典的两栏布局问题,可以通过a...

  • CSS 两栏布局

    前端7班+余愿 两栏布局指的是,页面分为三部分,头部、中间、尾部。而中间部分又分为两部分,侧边栏和主要内容部分。侧...

  • 两栏布局-CSS

    布局是面试中和实际开发中经常遇到的问题,常见的有两栏布局、三栏布局等。想起来之前的一次某团的面试,要求用尽可能多的...

  • 最新前端面试总结

    1.HTML&CSS: flex布局,垂直居中,清除浮动,BFC,三栏布局,两栏布局,动画,盒模型,h5新特性 2...

  • 特殊布局方法

    关于圣杯布局和双飞翼布局:CSS布局之--淘宝双飞翼布局双飞翼布局介绍CSS控制自适应宽度两三栏布局圣杯布局的实现...

  • CSS布局技巧总结

    目录 详解 CSS 七种三栏布局技巧 16种方法实现水平居中垂直居中 详解 CSS 七种三栏布局技巧 三栏布局,顾...

  • CSS布局

    介绍几种简单的css布局方式。 两栏布局 两栏布局最简单的方式就是使用浮动,浮动其中一个元素,通常要给浮动的元素一...

网友评论

    本文标题:CSS:两栏布局

    本文链接:https://www.haomeiwen.com/subject/cescrftx.html