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

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

ruisui883个月前 (03-27)技术分析22

一、两栏布局(左定宽,右自动)
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、右边自适应如何实现?” 的相关文章

代码分支规范

一.gitflow工作流说明:主分支:master,稳定版本代码分支,对外可以随时编译发布的分支,不允许直接Push代码,只能请求合并(pull request),且只接受hotfix、release分支的代码合并。gitlab上做限制。热修复分支:hotfix,针对现场紧急问题、bug修复的代码分...

一次Java内存占用高的排查案例,解释了我对内存问题的所有疑问

问题现象7月25号,我们一服务的内存占用较高,约13G,容器总内存16G,占用约85%,触发了内存报警(阈值85%),而我们是按容器内存60%(9.6G)的比例配置的JVM堆内存。看了下其它服务,同样的堆内存配置,它们内存占用约70%~79%,此服务比其它服务内存占用稍大。那为什么此服务内存占用稍大...

K8S NFS 共享存储

NFS 共享存储前面我们学习了 hostPath 与 Local PV 两种本地存储方式,但是平时我们的应用更多的是无状态服务,可能会同时发布在不同的节点上,这个时候本地存储就不适用了,往往就需要使用到共享存储了,比如最简单常用的网络共享存储 NFS,本节课我们就来介绍下如何在 Kubernetes...

Python中的11 种数组算法

1. 创建数组 创建数组意味着留出一个连续的内存块来存储相同类型的元素。在大多数语言中,您可以在创建数组时指定数组的大小。假设您正在书架上整理一组书籍,并且您需要为正好 10 本书预留空间。功能架上的每个空间都对应于数组中的一个索引。# Example in Python arr = [1, 2,...

基于Spring Cloud+VUE的多租户小程序商城源码「快速二开可商用」

一、系统介绍JooLun平台是一个专注微信快速二开系统研发的平台,采用Java语言开发,使用的是最新微服务前后端分离技术,目前有公众号和小程序商城两个版本,有公众号后台管理、小程序商城。基于Spring Cloud微服务+VUE实现的核心框架多租户小程序商城源码,核心框架采用SpringBoot2+...

推荐一个Java微服务商业级Sass开源电商小程序(开源,企业级项目)

使用Java微服务开发,SpringBoot2框架、MyBatis-plus持久层框架、Redis作为缓存、MySql8作为数据库。 前端vuejs作为开发语言,使用uniapp编码,同时支持微信小程序、安卓App、苹果App。 支持集群部署,单机部署。 unimall 针对中小商户、企业和个人消...