三列自适应布局

自适应布局(四种写法,三种方案)

1、使用position:absolute.

<!doctype html>

<html>

<head>

<style>

body{

width: 100%;

padding: 0;

margin: 0;

}

div{

height: 500px;

}

.div1{

width: 100px;

background: red;

float: left;

}

.div2{

height: 500px;

background: blue;

position: absolute;

left: 100px;

right: 100px;

}

.div3{

width: 100px;

background: green;

float: right;

}

</style>

</head>

<body>

<div class="div1">i</div>

<div class="div2">ii</div>

<div class="div3">iii</div>

</body>

</html>

优点实现简单,缺点由于使用absolute性能不好。也可以使最左和最右的div绝对定位。

<!doctype html>

<html>

<head>

<style>

body{

width: 100%;

padding: 0;

margin: 0;

}

div{

height: 500px;

}

.div1{

width: 100px;

background: red;

position: absolute;

left: 0;

top:0;

}

.div2{

margin: 0 100px;

background: blue;

}

.div3{

width: 100px;

background: green;

position: absolute;

right: 0;

top:0;

}

</style>

</head>

<body>

<div class="div1">i</div>

<div class="div2">ii</div>

<div class="div3">iii</div>

</body>

</html>

2、使用margin负值法。该方法中间元素需放在最前面,而且里面包含两层div,难以理解。

<!doctype html>

<html>

<head>

<style>

body{

width: 100%;

padding: 0;

margin: 0;

}

div{

height: 500px;

}

.div1{

width: 100px;

background: red;

float: left;

margin-left: -100%;

}

.div2{

width: 100%;

float: left;

background: blue

}

.div2 div{

margin: 0 100px;

}

.div3{

width: 100px;

background: green;

float: right;

margin-left: -100px;

}

</style>

</head>

<body>

<div class="div2"><div>ii</div></div>

<div class="div1">i</div>

<div class="div3">iii</div>

</body>

</html>

3、使用自身浮动。该方法中间的只能放在后面。

<!doctype html>

<html>

<head>

<style>

body{

width: 100%;

padding: 0;

margin: 0;

}

div{

height: 500px;

}

.div1{

width: 200px;

background: red;

float: left;

}

.div2{

margin: 0 200px;

background: blue;

}

.div3{

width: 200px;

background: green;

float: right;

}

</style>

</head>

<body>

<div class="div1">i</div>

<div class="div3">iii</div>

<div class="div2">ii</div>

</body>

</html>

时间: 2024-12-19 16:53:12

三列自适应布局的相关文章

三列自适应布局(左右定宽 中间自适应)

左右定中间自适应三列布局 1.绝对定位 2.浮动 3.flex 1 1.绝对定位 2 <!doctype html> 3 <head> 4 <meta charset="utf-8" /> 5 <title>三栏布局</title> 6 <style type="text/css"> 7 * { 8 margin: 0; 9 padding: 0; 10 } 11 12 #main { 13 m

水平方向两列三列自适应布局

<html> <!--三列水平居中--> <div style="float:right;background-color:blue;width:100px;height:100px;"></div> <div style="float:left;background-color:lightgray;width:100px;height:100px;"></div> <div style=

三列自适应布局的实现方式(兼容IE6+)

1.绝对定位方式 1 <div class="nm-3-lr"> 2 <div class="aside-f"> 3 <p>侧边栏1固定宽度</p> 4 </div> 5 <div class="main"> 6 <p>绝对定位-主内容栏自适应宽度</p> 7 </div> 8 <div class="aside-s&quo

使用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

css 两列自适应布局的4种思路

前面的话 前面已经介绍过css 两列布局中单列定宽单列自适应布局的6种思路的两列布局,而两列自适应布局是指一列由内容撑开,另一列撑满剩余宽度的布局方式.本文将从float.table.flex和grid来介绍两列自适应布局的4种思路 float [思路一]float 在单列定宽单列自适应的两列布局中,经常用float和负margin配合实现布局效果.但由于margin取值只能是固定值,所以在两列都是自适应的布局中就不再适用.而float和overflow配合可实现两列自适应效果.使用overfl

三栏自适应布局

常用的有三种方式: 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 }

两栏三栏自适应布局

<!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

布局一 两列自适应布局

<!DOCTYPE html><html>     <head>          <meta charset="UTF-8">          <title>两列自适应布局</title>          <style type="text/css"> .out{ width: 90%; height: 500px; margin: 0 auto; background: ye