css网页布局 --- 左边固定,右边自适应
div的布局统一如下:
<body>
<div class="wrap">
<div class="left"></div>
<div class="right"></div>
</div>
</body>
css的基本设置统一如下:
* {
margin: ;
}
html,body {
width: %;
height: %;
}
第一种方式:左边的div向左浮动,右边的div的width为100%,margin-left值设置为左边div的宽度。
div.wrap {
width: %;
height: %;
background: #fefefe;
}
div.left {
float: left;
width: 300px;
height: %;
background: #eafeea;
}
div.right {
width: %;
height: %;
margin-left: 300px;
background: pink;
}
这里因为没有内容,所以height: 100%来撑开。 左边div在float之后,脱离文档流,右边元素width: 100%,是父元素的宽度减去子元素的padding和margin的剩下的宽度,所以刚好可以做到右边div的自适应。
第二种方式: 和第一种方式的思路一样,只是这次我们可以通过将父元素设置为 position: relative; 将左边的元素设置为 position: absolute; 并且left为0。右边div不变。
div.wrap {
width: %;
height: %;
background: #fefefe;
position: relative;
}
div.left {
width: 300px;
position: absolute;
left: ;
height: %;
background: #eafeea;
}
div.right {
width: %;
height: %;
margin-left: 300px;
background: pink;
}
第三种方式: 使用BFC方式,即将右边的div设置overflow: hidden;这样就可以出发BFC了,而BFC的规则就是不会和浮动元素重叠,如下:
div.wrap {
width: %;
height: %;
background: #fefefe;
}
div.left {
float: left;
width: 300px;
height: %;
background: #eafeea;
}
div.right {
height: %;
overflow: hidden;
background: pink;
}
注意到: 这里我们直接把右边的div添加了overflow:hidden; 然后又把width: 100%去掉,否则会出现问题。
第四种方式:左边固定宽度 float,右边width设置为100%, float: right,然后margin-right: -300px即可,通过margin负边距,我们就可以达到同样的效果:
div.wrap {
width: %;
height: %;
background: #fefefe;
}
div.left {
float: left;
width: 300px;
height: %;
background: #eafeea;
}
div.right {
width: %;
float: right;
margin-right: -300px;
height: %;
background: pink;
}
记住: margin负边距影响的永远都是文档流,文档流会认为其减小了,但是实际上并没有减小。
第五种方式: 使用flex布局。 包裹层使用flex,内部就是弹性布局了,不用设置。
div.wrap {
display: flex;
width: %;
height: %;
background: #fefefe;
}
div.left {
width: 300px;
height: %;
background: #eafeea;
}
div.right {
width: %;
height: %;
background: pink;
}
即左边的div仅仅设置width:300px,右边的div设置为width:100%即可。
第六种方式: 左右两边全部使用绝对定位,左边设定宽度300px,右边100%。
div.wrap {
position: relative;
width: %;
height: %;
background: #fefefe;
}
div.left {
position: absolute;
left: ;
top: ;
width: 300px;
height: %;
background: #eafeea;
}
div.right {
position: absolute;
top: ;
left: 300px;
width: %;
height: %;
background: pink;
}
这种方法也是轻松实现。
第七种方式: 使用table布局。 包裹元素设置为 display: table; 子元素设置为 display: table-cell; 然后再设置好左边元素的宽度,右边元素不需要设置宽度。 并且是等高布局。
div.wrap {
display: table;
width: %;
height: %;
background: #fefefe;
}
div.left {
display: table-cell;
width: 300px;
height: %;
background: #eafeea;
}
div.right {
display: table-cell;
height: %;
background: pink;
}
效果如下:
css网页布局 --- 左边固定,右边自适应的更多相关文章
- flex左右布局 左边固定 右侧自适应
flex左右布局 左边固定 右侧自适应 想要保证自适应内容不超出容器怎么办. 通过为自适应的一侧设置width: 0;或者overflow: hidden;解决. 首先实现标题的布局,也很简单: &l ...
- HTML布局之左右结构,左边固定右边跟据父元素自适应
HTML布局之左右结构,左边固定右边跟据父元素自适应,兼容IE6+.Firefox.Chrome.Opera.Safari,这里是用表单写的一个demo,其实就在主体布局中也是可以的,比如像后台一些管 ...
- CSS自适应布局(左右固定 中间自适应或者右侧固定 左侧自适应)
经常在工作中或者在面试中会碰到这样的问题,比如我想要个布局 右侧固定宽度 左侧自适应 或者 三列布局 左右固定 中间自适应的问题. 下面我们分别来学习下,当然我也是总结下而已,有如以下方法: 一: 右 ...
- CSS网页布局全精通
在本文中将使用四种常见的做法,结合CSS于结构化标记语法制作两栏布局.很快地就会发现,不用嵌套表格,间隔用的GIF也能做出分栏版面布局. 相关文章:CSS网页布局开发小技巧24则 稍后在"技 ...
- 前端学习笔记之CSS网页布局
CSS网页布局 阅读目录 一 网页布局方式 二 标准流 三 浮动流 四 定位流 一 网页布局方式 #1.什么是网页布局方式 布局可以理解为排版,我们所熟知的文本编辑类工具都有自己的排版方式,比如w ...
- CSS网页布局错位:CSS宽度计算
为什么计算宽度计算网页像素宽度是为了CSS网页布局整齐与兼容.常见的我们布局左右结构网页或使用padding.margin布局的时候将计算整页宽度,如果不计算无论是宽度过大过小就会出现错位问题. 怎么 ...
- 简单实用的CSS网页布局中文排版技巧
由于汉字的特殊性,在css网页布局中,中文排版有别于英文排版.排版是一个麻烦的问题,小编认为,作为一个优秀的网页设计师和网页制作人员,掌握一些简单的中文排版技巧是不可或缺的,所以今天特意总结了几个简单 ...
- 总结与学习DIV+CSS网页布局技巧
以前用表格布局时设置网页居中非常方便,把表格对齐方式设置为居中就行了,就这么简单,现在呢,用DIV+CSS样式表控制,好像不是那么容易了,其实也很简单,只不过方式不同而已. <style> ...
- CSS网页布局中易犯的30个小错误
即使是CSS高手,也难免在书写CSS代码的时候出一些小错误,或者说,任何一种代码都是如此.小错误却往往造成大问题,浪费很多无辜的时间来调试和排错.查看下面这份CSS网页布局中易犯的10个小错误,努力的 ...
随机推荐
- 【转】Paxos算法3-实现探讨
——转自:{老码农的专栏} 前两篇Paxos算法的讨论,让我们对paxos算法的理论形成过程有了大概的了解,但距离其成为一个可执行的算法程序还有很长的路要走,原因是很多的细节和错误未被考虑.Googl ...
- DB2 runstats、reorgchk、reorg 命令【转载】
1.runstats runsats可以搜集表的信息,也可以搜集索引信息.作为runstats本身没有优化的功能,但是它更新了统计信息以后,可以让DB2优化器使用最新的统计信息来进行优化,这样优化的效 ...
- git 删除追踪状态
当不小心添加一个不想被git记录等文件时,这个时候就算将该文件记录在了.gitignore里也是没有用的,因为那个文件已经被git记录过了,只有那些从来没有被git记录过的文件(即:自添加进项目后,从 ...
- windows下用C++获取本机IP地址
BSTR CamUtilsCtrl::GET_TERM_IP(void){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); CString strResult ...
- ubuntu18.04 编译安装 apache php
1. apache apache 需要依赖几个模块:apr, apr-util, pcre,也分别源码安装. 1.1 编译安装 1.1.1 apr apr-util 下载地址:http://apr.a ...
- Back to December -- Taylor Swift
Back to December 泰勒·斯威夫特(Taylor Swift),美国乡村音乐女创作歌手,会用木吉他.钢琴演奏. 曾获得美国乡村音 ...
- alpha七天冲刺计划(更新ing)
alpha七天冲刺计划 第一天: http://note.youdao.com/noteshare?id=ff0c24feec21b1d74a176a0d88815933 第二天: http://no ...
- Redis 慢查询
Redis 慢查询 许多存储系统提供慢查询日志帮助开发和运维人员定位系统的慢操作.慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阈值就将这条命令的相关信息记录下来Redis提供 ...
- VS2012 中不能安装ARCGIS 10.0 SDK的解决方法
问题描述 在ARCGIS 安装SDK时 就会出错 原因是ARCGIS SDK 10.0只能在VS2010中安装,因为我本机是安的VS2012所以安装不成功. 解决方法 一,在注册表中HKE ...
- 再也不用线上倒数据了,使用 Faker 来造一批假的数据吧。
背景每当建表之后,常常需要写一批假的数据,用于测试算法.数据量的压力测试.列表翻页. 查看详情.数据关联等.这时就需要借助一款造数据的工具,它就是今天所要介绍的 Faker. 介绍 Faker 这个工 ...