两边固定,中间自适应

第一种:利用浮动;

html

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

css

.left,.right{float: left;height: 100%;width: 200px;}
.left{background: pink}
.right{float: right;background: green;}
.center{background: deeppink;height: 100%;margin: 0 200px;box-sizing: border-box;}

原理:利用浮动元素脱离文档流,左右定宽度分别进行左浮动和右浮动,中间宽度通过设置margin值让宽度自适应,注!!!center占据文档流位置,所以一定要放在最后,左右两个元素位置没有关系。当浏览器窗口很小的时候,右边元素会被击倒下一行。

第二种:圣杯布局

html

<div id = "wrap">
  <div id = "center"></div>
</div>
<div id = "left_margin"></div>
<div id = "right_margin"></div>

css

#wrap{ width: 100%;height: 100px; background-color: #fff;float: left;}
#wrap #center{ margin:0 210px; height: 100px;background-color: #ffe6b8; }
#left_margin,#right_margin{ float: left;width: 200px;height: 100px;background-color: darkorange }
#left_margin {margin-left: -100%; background-color: lightpink}
#right_margin{margin-left: -200px;}

圣杯布局的原理是margin负值法。使用圣杯布局首先需要在center元素外部包含一个div,包含div需要设置float属性使其形成一个BFC,并设置宽度,并且这个宽度要和left块的margin负值进行配合。

时间: 2024-11-15 11:17:22

两边固定,中间自适应的相关文章

html 两边固定中间自适应效果

很多时候会用到自适应的效果,现在我分享一个两边固定中间自适应的效果, 利用的是浮动特性来完成的,下面是代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>宽度自适应布局</title> <style> .mid{ height:400px; background:#c00; margin:0 100px;} .left{ he

前端经典布局(两边固定中间自适应)

一.介绍 下边将介绍前端很流行的布局方式,要求两边固定,中间自适应.比较流行的布局方式有圣杯布局,双翼布局,flex布局.绝对定位布局. 二.圣杯布局 圣杯布局,顾名思义,他具有以下特点: 1.三列布局,中间自适应,两边定宽: 2.中间栏要求在浏览器中优先展示: 接下来我们看实现方式: div我们这样写: <div class="container"> <div class="main">main</div> <div cl

两边固定中间自适应的页面布局

如上图所示对页面进行布局 左右两部分是固定宽度的,中间黄色的区域可以随页面宽度的不同而调整,且与两边div有个间距. 方法一:浮动 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> body,div{ margin:0;padding:0; } .box1{ f

css布局两边固定中间自适应的四种方法

第一种:左右侧采用浮动 中间采用margin-left 和 margin-right 方法. 代码如下: <div style="width:100%; margin:0 auto;"> <div style="width:200px; float:right; background-color:#960">这是右侧的内容 固定宽度</div> <div style="width:150px; float:left

css 布局:两边固定中间自适应

解析四种常用方法以及原理:浮动.浮动内嵌 div.定位.flex. 浮动 <style type="text/css"> .wrap {background: #eee; padding: 20px; } p {margin: 0; } .left {width: 200px; height: 200px; float: left; background: coral; } .right {width: 200px; height: 200px; float: right;

中间固定 两边平分的 自适应三栏布局

NEC 和网上有很多关于两栏三栏布局的案例,而关于三栏布局大体为: 两边固定大小 中间自适应: 无意中一个朋友问我: 中间固定 两边平分的 自适应三栏布局 怎么实?! 当时第一时间想到的是用 display: flex; 然而这个属性不是全兼容的,目前市场上一些国产机的浏览器 实现不了想要的结果: 回去细想后觉得用position是个方法——不管怎样这是在布局中被我用坏了的属性,总能帮我解决很多问题! 以下是贴出的代码: <style> *{ padding: 0; margin: 0; }

css布局1:左右宽度固定中间自适应html布局解决方案(同一侧宽度固定,另一侧自适应)

https://www.jb51.net/web/639884.html 本文介绍了详解左右宽度固定中间自适应html布局解决方案,分享给大家,具体如下: a.使用浮动布局 html结构如下(为什么中间的网格宽度显示的和实际的不一样?怎么造成的;解决方法就是让中间的非浮动元素可以看到两边的浮动元素,例如为.center加overflow:hidden) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <div class="box&quo

左边宽度固定右边自适应

在写页面布局的时候经常要用到左边宽度固定右边自适应 第一种写法: .left { position: absolute; height: 100%; width: 300px; background-color: blue; } .right { height: 100%; margin-left: 300px; background-color: red; } 这种写法有个问题,right的宽度是占满整个屏幕,如果right想实现拖拽功能,发现拖拽到左边300像素的时候,不能在往往左边拖拽了,

CSS自适应布局(左右固定 中间自适应或者右侧固定 左侧自适应)

经常在工作中或者在面试中会碰到这样的问题,比如我想要个布局 右侧固定宽度 左侧自适应 或者 三列布局 左右固定 中间自适应的问题. 下面我们分别来学习下,当然我也是总结下而已,有如以下网站源码方法: 一: 右侧固定宽度 左侧自适应  第一种方法:左侧用margin-right,右侧float:right  就可以实现.     HTML代码可以如下写:    <div class="box-left">        <a href="" targ

DIV+CSS实现两边固定宽度,中间自适应宽度

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>DIV+CSS实现两边固定宽度,中间自适应宽度</title> <style type="text/css"> .left, .right{ width: 100px; height: 100px; background-colo