当前位置:首页 > 技术分析 > 正文内容

两栏布局、左边定宽200px、右边自适应如何实现?

ruisui881个月前 (03-27)技术分析10

一、两栏布局(左定宽,右自动)
1. float + margin

即固定宽度元素设置float属性为left,自适应元素设置margin属性,margin-left应>=定宽元素宽度。

举例:

HTML代码:



我是左栏


我是右栏

CSS代码
html,body,div{
margin: 0;
padding: 0;
}
.wrap{
margin: 10px;
}
.wrap_left{
float: left;
width: 200px;
background-color: red;
}
.wrap_right{
margin-left: 220px;
background-color: green;
}

二、position + margin

即在父标签设置position属性为relative;子标签中定宽元素设置position属性为absolute;自适应元素设置margin属性,margin-left>=定宽元素宽度。

举例:

HTML代码



我是左栏


我是右栏



CSS代码

html,body,div{
margin: 0;
padding: 0;
}
.wrap{
margin: 10px;
position: relative;
}
.wrap_left{
position: absolute;
width: 200px;
background-color: red;
}
.wrap_right{
margin-left: 220px;
background-color: green;
}
3.float + 负margin

即给自适应宽度元素定义一个父标签,并设置float属性为left;width为100%;自适应宽度元素设置margin,margin-left应>=定宽元素宽度;

固定宽度元素设置margin-left属性为负值:-100%;

除此之外应注意HTML结构中应先写自适应元素,再写固定宽度元素。

举例:

HTML代码



我是右栏



我是左栏

html,body,div{
margin: 0;
padding: 0;
}
.wrap{
float: left;
width: 100%;
}
.wrap .wrap_right{
margin-left: 220px;
background-color: green;
}
.wrap_left{
float: left;
width: 200px;
margin-left: -100%;
background-color: red;
}
注:使用的float属性,必要时清除一下浮动。

二、三栏布局

掌握了上面的方法,我们会发现制作一个三栏布局也是非常容易的。

下面我们在上面栗子的基础上,看看实现一个两侧定宽,中间自适应的三栏布局如何实现

1. float + margin(两侧定宽,中间自适应)

HTML代码:

我是左栏

我是右栏

我是中间栏

html,body,div{

margin: 0;

padding: 0;

}

.wrap_left{

width: 200px;

float: left;

background-color: red;

clear: both;

}

.wrap_content{

margin-left: 220px;

margin-right: 220px;

background-color: yellow;

}

.wrap_right{

width: 200px;

float: right;

background-color: green;

}

2. position + margin(两侧定宽,中间自适应)

HTML代码:

我是左栏

我是右栏

我是中间栏

css代码

html,body,div{

margin: 0;

padding: 0;

}

.wrap_left{

width: 200px;

position: absolute;

background-color: red;

left: 0;

}

.wrap_content{

margin-left: 220px;

margin-right: 220px;

background-color: yellow;

}

.wrap_right{

width: 200px;

position: absolute;

right: 0;

background-color: green;

}

3.float + 负margin(两侧定宽,中间自适应)

HTML代码

我是中间栏

我是左栏

我是右栏

CSS代码

html,body,div{

margin: 0;

padding: 0;

}

.wrap{

float: left;;

width: 100%;

}

.wrap_left{

width: 200px;

float: left;

margin-left: -100%;

background-color: red;

}

.wrap_content{

margin-left: 220px;

margin-right: 220px;

background-color: yellow;

}

.wrap_right{

width: 200px;

float: left;

margin-left: -200px;

background-color: green;

}

文/丁向明

做一个有博客的web前端自媒体人,专注web前端开发,关注用户体验,加我qq/微信交流:6135833

http://dingxiangming.com

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3066.html

标签: 宽度自适应
分享给朋友:

“两栏布局、左边定宽200px、右边自适应如何实现?” 的相关文章

基于gitlab的PR操作教程

基于gitlab的PR操作教程注:该教程主要基于git命令行操作,其他图形化工具也可完成以下所有操作步骤,顺手即可。推荐工具:Source Tree ,TortoiseGit参考:gitflow一 . 基于分支的PR操作1. 本地切换到master分支1. 拉取最新代码2. 基于master创建ho...

el-table内容\n换行解决办法

问题请求到的数据带有换行符 '\n'但页面展示时不换行statusRemark: "\"1、按期完成计划且准确率100%,得100分;\n2、各项目每延误1天,扣1分;每失误1次或者员工投诉1次,扣3分,失误层面达到公司级影响较大的,该项绩效分数为0\"\n&...

虚幻引擎5.5现已发布 手游开发、动画制作重大改进

Epic在今天发布了虚幻引擎5.5,现可通过Epic Launcher下载。此版本在动画创作、渲染、虚拟制片、移动端游戏开发和开发人员迭代工具集等方面做出了重大改进。 官方博客:虚幻引擎5.5现已发布,在动画创作、虚拟制作和移动游戏开发方面取得了显著进步,渲染、摄像机内视觉特效和开发人员迭代等领域的...

USB电池充电基础:应急指南

USB为便携设备供电与其串行通信功能一样,已经成为一种标准应用。如今,USB 供电已经扩展到电池充电、交流适配器及其它供电形式的应用。应用的普及带来的一个显著效果是便携设备的充电和供电可以互换插头和适配器。因此,相对于过去每种装置都采用专用适配器的架构相比,目前的解决方案允许采用多种电源进行充电。毋...

数组、去重、排序、合并、过滤、删除

ES6数字去重 Array.from(new Set([1,2,3,3,4,4])) //[1,2,3,4] [...new Set([1,2,3,3,4,4])] //[1,2,3,4]2、ES6数字排序 [1,2,3,4].sort(); // [1, 2,3,4],默认是升序...

Vue学习笔记之动态路由的参数传递应用及技巧

路由的参数传递:①通过params的类型· 配置路由格式:/router/:id· 传递的方式:在path后面跟上对应的值· 传递后形成的路径:/router/list,/router/profile这个就是前两篇中提到的"动态路由"中有应用过这个方法:②通过query的类型(对象方...