css两列自适应宽度布局(左定宽,右自适应)
1、利用BFC:
<div id="root">
<div class="left">左</div>
<div class="right">右</div>
</div>
#root {
height: 300px;
}
.left {
float: left;
width: 200px;
height: 80%;
background-color: rgba(255, 0, 0, 0.5);
}
.right {
height: 100%;
background-color: green;
}

现在结果如上图的效果,为什么呈现这种效果?
每个元素的margin box(.left、.right)的左边, 与包含块border box(#root)的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此。所以.left盖在.right的上方。
怎么解决这种问题呢?-----BFC的区域不会与float box重叠。我们让.right成为一个BFC应该就可以了。
#root {
height: 300px;
}
.left {
float: left;
width: 200px;
height: 80%;
background-color: rgba(255, 0, 0, 0.5);
}
.right {
height: 100%;
background-color: green;
overflow: hidden; // 触发,成为BFC
}

可以了,达到我们想要的效果。
2、css3有了flex属性,轻而易举就实现这种布局,第一种方法当做开阔眼界吧。
#root {
height: 300px;
display: flex;
}
.left {
width: 200px;
height: 80%;
background-color: rgba(255, 0, 0, 0.5);
}
.right {
flex:;
background-color: green;
}
css两列自适应宽度布局(左定宽,右自适应)的更多相关文章
- css布局:定宽,自适应
css三栏布局:1.中自:float,absolute,margin三种方法.2.中固:margin,table两种方法. 两边定宽,中间自适应: float: #left{ float:left; ...
- css两列等高布局
布局方案 等高布局有几种不同的方法,但目前为止我认为浏览器兼容最好最简便的应该是padding补偿法.首先把列的padding-bottom设为一个足够大的值,再把列的margin-bottom设一个 ...
- CSS基础布局--居中对齐,左侧定宽右侧自适应
CSS页面布局是web前端开发的最基本的技能,本文将介绍一些常见的布局方法,涉及到盒子布局,column布局,flex布局等内容.本文中,你可以看到一些水平垂直居中的方法,左侧固定宽度,右侧自适应的一 ...
- CSS两列布局——左侧宽度固定,右侧宽度自适应的3种方法
1.左侧绝对定位法 直接看代码: <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- css 两列布局中单列定宽单列自适应布局的6种思路
前面的话 说起自适应布局方式,单列定宽单列自适应布局是最基本的布局形式.本文将从float.inline-block.table.absolute.flex和grid这六种思路来详细说明如何巧妙地实现 ...
- CSS布局 两列布局之单列定宽,单列自适应布局思路
前言 说起自适应布局方式,单列定宽单列自适应布局是最基本的布局形式.比如斗鱼的直播间,后台管理系统都是常用的 我们将从 float, inline-block, table, absolute, fl ...
- css 两列自适应布局的4种思路
前面的话 前面已经介绍过css 两列布局中单列定宽单列自适应布局的6种思路的两列布局,而两列自适应布局是指一列由内容撑开,另一列撑满剩余宽度的布局方式.本文将从float.table.flex和gri ...
- css两列布局,一边固定宽度,另一边自适应
<!DOCTYPE HTML><HTML> <head> <meta charset="utf-8" ...
- CSS两列高度自适应,右边自适应
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- css 两列 左侧列固定 width: 100px; float: left; 右侧列自适应 margin-left:100px; 注意要用在div上的style
css 两列 左侧列固定 width: 100px; float: left; 右侧列自适应 margin-left:100px; 注意要用在div上的style .con1{ width: 100p ...
随机推荐
- 快速搭建vue脚手架
https://segmentfault.com/a/1190000011275993
- Fatal error in launcher: Unable to create process using '"'的报错解决
执行命令前加python -m就好了 python -m pip install --upgrade pip这条命令用来升级pip
- Getting Started with Rails (1)
按照官网http://guides.rubyonrails.org/getting_started.html上学习了一下例子.在过程中有很多刚开始没理解的地方,写下来. 首先,建立了一个resourc ...
- 自动化测试调查问卷送《QTP自动化测试最佳实践》
自动化测试调查问卷送<QTP自动化测试最佳实践> http://automationqa.com/forum.php?mod=viewthread&tid=2308&fro ...
- JavaWeb XML
1. XML详解 1.1. XML介绍 1.1.1. 什么是XML XML的全称为eXtensible Markup Language,译为可扩展标记语言.XML语法上和HTML比较相似,但HTML中 ...
- SpringBoot中使用hikariCP
本篇文章主要实现SpringBoot中使用hikariCP: 一 .使用工具 1. JDK1.8 2. springToolSuit(STS) 3. maven 二.创建项目 1.首先创建一个Spri ...
- mysql配置文件生效顺序
安装完数据库 除了将my.cnf放在/etc/下放在其他地方也是可以的 cp /usr/share/mysql/my-default.cnf /etc/my.cnf 今天就看一下这些my.cnf是怎么 ...
- HDU 1532 --&&-- POJ1273 dinic 算法
学长的代码#include<stdio.h> #include<string.h> #include<queue> #include<algorithm> ...
- MessageFormat与占位符使用
占位符替换,花括号中为索引占位,对应可变参数后面的值 String pattern = "ErrorMessage=This is Error Message : {0},{1}" ...
- how to create an asp.net web api project in visual studio 2017
https://docs.microsoft.com/en-us/aspnet/web-api/overview/getting-started-with-aspnet-web-api/tutoria ...