情景描述:父元素由一个设置了高度的元素撑起,另一个元素自动继承父元素的高,并且两元素在一行显示。
现在情况
<style>
.far{
border: 1px solid bisque;
}
.s1{
height: 150px;
width: 100px;
background-color: blue;
display: inline-block;
}
.s2{
height: 100%;
width: 50px;
background-color: brown;
display: inline-block;
}
style>
head>
<body>
<div class="far">
<div class="s1">div>
<div class="s2">div>
div>
body>
方法1:
设置父元素flex,子元素不设置高度
<style>
.far{
border: 1px solid bisque;
display: flex;
}
.s1{
height: 150px;
width: 100px;
background-color: blue;
display: inline-block;
}
.s2{
width: 50px;
background-color: brown;
display: inline-block;
}
style>
head>
<body>
<div class="far">
<div class="s1">div>
<div class="s2">div>
div>
body>
方法2:
父元素相当定位,子元素绝对定位,设置100%高
.far{
border: 1px solid bisque;
position: relative;
font-size: 0;
}
.s1{
height: 150px;
width: 100px;
background-color: blue;
display: inline-block;
}
.s2{
width: 50px;
background-color: brown;
display: inline;
position: absolute;
height: 100%;
}
style>
head>
<body>
<div class="far">
<div class="s1">div>
<div class="s2">div>
div>
body>
s1和s2元素都要设置inline或者inline-block属性,否则不法自动在一行,要在设置left,top等属性
龙丘居士亦可怜,谈空说有夜不眠。
忽闻河东狮子吼,拄杖落手心茫然。
多有画面感