前端面试之两栏布局,左侧固定右侧自适应;三栏布局,左右定宽,中间自适应

左右布局:左边定宽、右边自适应,

1.1浮动方法,使第一个div浮动起来脱离文档流,下面的div自动向上

先看代码

<style>

body{margin:0;} //为了统一布局,去掉了浏览器自带body的margin值

.left{ width:200px; float:left; height:400px;; background:#99F;}

.main{ height:400px; background:#CCC;}

</style>

<body>

<div class="left">左侧</div>

<div class="main">主要</div>

</body>

1.2 绝对定位法

此方法的原理大体就是将左侧的块元素设置为position:absolute;右侧默认宽度,且将margin-left的值设为200px,即为左栏的宽度。

<style>

body{margin:0;}

.left{ position:absolute; top:0; width:200px; height:400px; background:#99F; left:0;}

.main{ height:400px; background:#CCC; margin-left:200px;}

</style>

<body>

<div class="left">左侧</div>

<div class="main">主要</div>

</body>

1.3弹性盒

display:flex; 设置为弹性盒子,其子元素可以通过设置 flex 的数值来控制所占空间的比例。

   body{margin:0; display: flex}

   .left{ width:200px; height:400px; background:#99F; left:0;}

   .main{ height:400px; background:#CCC; flex: 1}

</style>

<body>

<div class="left"></div>

<div class="main"></div>

</body>

 

2、左右定宽中间自适应宽度

1.1浮动方法,使第一个div浮动起来脱离文档流,下面的div自动向上

<style>

  body{margin:0;}
    .left{ width:200px; float:left; height:400px;; background:#99F;}
    .right{ width:200px; float:right; height:400px; background:#39F;}
    .main{ height:400px; background:#CCC;}
</style>
<body>
<div class="left">左</div>
<div class="right">右</div>
<div class="main">中</div>

2.2 绝对定位法

<style>

body{ margin:0;}

.left,.right{ position:absolute; top:0; width:200px; height:400px;}

.left{ background:#99F; left:0;}

.right{ background:#39F; right:0;}

.main{ height:400px; background:#CCC; margin:0 200px;}

</style>

<body>

<div class="left"></div>

<div class="right"></div>

<div class="main"></div>

</body>

<style>

1.3弹性盒

display:flex; 设置为弹性盒子,其子元素可以通过设置 flex 的数值来控制所占空间的比例。

    body{margin:0; display: flex}

    .left{ width:200px; height:400px; background:#99F; left:0;}

    .main{ height:400px; background:#CCC; flex: 1}

    .right{ width:200px; height:400px; background:#99F; left:0;}

</style>

<body>

<div class="left"></div>

<div class="main"></div>

<div class="right"></div>

</body>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值