第一种方案
float+margin(有bug)
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
body,p{
margin: 0;
padding: 0;
}
.left{
background: yellowgreen;
float: left;
width: 100px;
}
.right{
background: pink;
margin-left:120px;
}
</style>
</head>
<body>
<div class="parent">
<div class="left">
<p>left</p>
</div>
<div class="right">
<p>right</p>
<p>right</p>
</div>
</div>
</body>
</html>
第一种方案进阶版
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
body,p{
margin: 0;
padding: 0;
}
.left{
background: yellowgreen;
float: left;
width: 100px;
}
.right-con{
float: left;
width: 100%;
margin-left: -100px;
}
.right{
background: pink;
margin-left: 120px;
}
</style>
</head>
<body>
<div class="parent">
<div class="left">
<p>left</p>
</div>
<div class="right-con">
<div class="right">
<p>right</p>
<p>right</p>
</div>
</div>
</div>
</body>
</html>
第二种方案 margin+overflow
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
body,p{
margin: 0;
padding: 0;
}
.left{
background: yellowgreen;
float: left;
width: 100px;
}
.right{
margin-left: 120px;
background: pink;
overflow: hidden;
/*不被浮动影响*/
}
</style>
</head>
<body>
<div class="parent">
<div class="left">
<p>left</p>
</div>
<div class="right">
<p>right</p>
<p>right</p>
</div>
</div>
</body>
</html>
第三种方案 display:table
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
body,p{
margin: 0;
padding: 0;
}
.parent{
display: table;
width: 100%;
}
.left{
display: table-cell;
width: 100px;
padding-right: 20px;
}
.left p{
background: yellowgreen;
}
.right{
background: pink;
display: table-cell;
}
</style>
</head>
<body>
<div class="parent">
<div class="left">
<p>left</p>
</div>
<div class="right">
<p>right</p>
<p>right</p>
</div>
</div>
</body>
</html>
第四种方案 display:flex
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
body,p{
margin: 0;
padding: 0;
}
.parent{
display: flex;
}
.left{
background: yellowgreen;
width: 100px;
}
.right{
background: pink;
flex: 1;
margin-left: 20px;
}
</style>
</head>
<body>
<div class="parent">
<div class="left">
<p>left</p>
</div>
<div class="right">
<p>right</p>
<p>right</p>
</div>
</div>
</body>
</html>