三列布局,其中左侧和右侧的部分宽度固定,中间部分宽度随浏览器宽度的变化而自适应变化

第一种方法:绝对定位

<!DOCTYPE html>
<html>
  <head>
    <title>三列布局</title>
    <link rel="stylesheet" type="text/css" href="task0001.css">
  </head>
  <body>

    <div class="wrap">
      <div>三列布局1</div>
      <div class="one col-3-one">one</div>
      <div class="three col-3-three">three</div>
      <div class="two col-3-two">two</div>
    </div>

  </body>
</html>
.wrap {
  position: relative;
}

.one{
  width: 40px;
  background: blue;
}

.two {
  background: yellow;
}

.three {
  width: 40px;
  background: red;
}

.col-3-one {
  position: absolute;
  left: 0px;
}

.col-3-three {
  position: absolute;
  right: 0px;
}

.col-3-two {
  position: static;
  margin-left: 40px;
  margin-right: 40px;
}

第二种方法:浮动定位

<!DOCTYPE html>
<html>
  <head>
    <title>三列布局</title>
    <link rel="stylesheet" type="text/css" href="task0001.css">
  </head>
  <body>

    <div >
      <div>三列布局2</div>
      <div class="one col-3-one-float">one</div>
      <div class="three col-3-three-float">three</div>
      <div class="two col-3-two">two</div>
    </div>
  </body>
</html>
.wrap {
  position: relative;
}

.one{
  width: 40px;
  background: blue;
}

.two {
  background: yellow;
}

.three {
  width: 40px;
  background: red;
}

.col-3-two {
  position: static;
  margin-left: 40px;
  margin-right: 40px;
}

.col-3-one-float {
  float: left;

}

.col-3-three-float {
  float: right;
}

两种方法本质上的差别不大,结构都是两个脱离文档流的div和一个直接以文档流定位的div。

文档流是文档中可显示对象在排列中所占的位置。而浮动和绝对定位都是不占空间。

注意:

1.使用绝对定时时,其父元素是被定位的(就是position是除了static的),如果没有被定位的父元素,则相对于body被定位

2.两个脱离文档流的div都需要在正常div的上方,否则第二个div会占满屏幕,而第三个脱离文档流的div被直接挤到下方。

时间: 2024-10-11 15:22:00

三列布局,其中左侧和右侧的部分宽度固定,中间部分宽度随浏览器宽度的变化而自适应变化的相关文章

网页布局——三列布局(左侧和右侧固定,中间自适应)

一:flex弹性布局 <!DOCTYPE> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{padding: 0;margin: 0;} body{ display: flex; } .left,.center,.right{ height: 200px; } .left

CSS 右侧固定宽度 左侧自适应 或者 三列布局 左右固定 中间自适应的问题

一: 右侧固定宽度 左侧自适应  第一种方法:左侧用margin-right,右侧float:right  就可以实现.     HTML代码可以如下写:    <div>        <a href="" target="_blank">我是龙恩</a>    </div> <div>        <a href="" target="_blank">

CSS 布局实例系列(三)如何实现一个左右宽度固定,中间自适应的三列布局——也聊聊双飞翼

今天聊聊一个经典的布局实例: 实现一个三列布局,其中左侧和右侧的部分宽度固定,中间部分宽度随浏览器宽度的变化而自适应变化 可能很多朋友已经笑了,这玩意儿通过双飞翼布局就能轻松实现.不过,还请容我在双飞翼之外,循序渐进地介绍一下我们可以如何实现一个三列布局. 1. 首先,使用浮动布局来实现一下 See the Pen float-three-columns by xal821792703 (@honoka) on CodePen. 左侧元素与右侧元素优先渲染,分别向左和向右浮动 中间元素在文档流的

CSS三列布局

× 目录 两侧定宽中间自适应 两列定宽一侧自适应 中间定宽两侧自适应一侧定宽两列自适应三列自适应总结 前面的话 前面已经介绍过单列定宽单列自适应和两列自适应的两列布局.本文介绍三列布局,分为两侧定宽中间自适应.两列定宽一侧自适应.中间定宽两侧自适应.一侧定宽两列自适应和三列自适应这五种情况 两侧定宽中间自适应布局 思路一:  float [1]float + margin + calc <style> p{margin: 0;} .parent{overflow: hidden;} .left

web标准(复习)--3 二列和三列布局

今天学习二列和三列布局,将涉及到以下内容和知识点 二列自适应宽度 二列固定宽度 二列固定宽度居中 xhtml的块级元素(div)和内联元素(span) float属性 三列自适应宽度 三列固定宽度 三列固定宽度居中 IE6的3像素bug 一.两列自适应宽度下面以常见的左列固定右列自适应为例,因为div为块状元素,默认情况下占据一行的空间,要想让下面的div跑到右侧,就需要做助css的浮动来实现.首先创建html代码如下: <style>#side { background-color:#99F

简单的CSS网页布局--三列布局

三列布局其实不难,不过要用到position:absolute这个属性,因为这个属性是基于浏览器而言,左右部分各放在左右侧,空出中间一列来实现三列布局. 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title>三列自适应</title> 6 <style type="text/

Web标准:三、二列和三列布局

知识点: 1.二列自适应宽度 2.二列固定宽度 3.二列固定宽度居中 4.xhtml的块级元素(div)和内联元素(span) 5.float属性 6.三列自适应宽度 7.三列固定宽度 8.三列固定宽度居中 9.IE6的3像素bug 1)二列自适应宽度 div为块级元素,默认情况下占据一行的空间,要想让下面的div跑到右侧,需要做css的浮动来实现. 在#side里面加上float:left;即可 说明:当我们不加float时,可以看到div占据的是一行 但是如果加了float:left后,可以

第三天 二列和三列布局

http://www.aa25.cn/div_css/904.shtml 今天学习<十天学会web标准(div+css)>的二列和三列布局,将涉及到以下内容和知识点 二列自适应宽度 二列固定宽度 二列固定宽度居中 xhtml的块级元素(div)和内联元素(span) float属性 三列自适应宽度 三列固定宽度 三列固定宽度居中 IE6的3像素bug 一.两列自适应宽度 下面以常见的左列固定右列自适应为例,因为div为块状元素,默认情况下占据一行的空间,要想让下面的div跑到右侧,就需要做助c

css 三列布局

前面的话 前面已经介绍过单列定宽单列自适应和两列自适应的两列布局.本文介绍三列布局,分为两侧定宽中间自适应.两列定宽一侧自适应.中间定宽两侧自适应.一侧定宽两列自适应和三列自适应这五种情况 两侧定宽中间自适应 思路一:  float [1]float + margin + calc <style> p{margin: 0;} .parent{overflow: hidden;} .left,.right{float: left;width: 100px;} .center{float: lef