我有两个水平并排放置的div。第一个的宽度由其中的文本决定,我只想缩小第二个div中的图像,使其宽度填充页面上剩余的水平空间。
+--------------------------------------------+
| | |
| | |
| | |
| | |
| | |
| <div 1> | <div 2> |
| Some text | Large image |
| | |
| | |
| | |
| | |
| | |
+--------------------------------------------+
<---------remaining-space-------->
<---------------- page width ---------------->
目前,我将图像缩小到页面宽度,但我真正需要的是缩小到页面宽度减去文本div的宽度。
我在 CSS 解决方案之后, IE 兼容,没有硬编码的固定宽度。
#text
{
background-color: black;
color: white;
float: left;
}
img
{
position: absolute;
max-width: 100%;
}
&#13;
<div id=text>Some text</div>
<img src="http://www.principiaprogrammatica.com/image.jpg"/>
&#13;
答案 0 :(得分:1)
您可以尝试 flexbox ,它应该可以在 IE 11 +
中使用<强> DEMO 强>
.content {
display: -webkit-flex;
display: flex;
min-height: 100vh;
}
.image {
-webkit-flex: 1;
flex: 1;
}
.image img {
width: 100%;
}
<div class="content">
<div id=text>Some text</div>
<div class="image">
<img src="http://www.principiaprogrammatica.com/image.jpg" alt="">
</div>
</div>
答案 1 :(得分:0)
HTML:
<div id="text">Some text</div>
<div class="aPicture">
<img src="http://www.principiaprogrammatica.com/image.jpg"/>
</div>
CSS:
#text
{
background-color: black;
color: white;
float: left;
width:15%;
}
.aPicture{
float:right;
width:85%;
}
img
{
max-width: 100%;
height:auto;
}
答案 2 :(得分:0)
将父div标记设置为图像#div2>img
,然后将其max-width
设置为100%
答案 3 :(得分:0)
你可以试试这个:
https://fiddle.jshell.net/qbgnp1ar/2/
<div class="container">
<div class="text">Some text</div>
<div class="image"><img src="http://www.principiaprogrammatica.com/image.jpg"/></div>
</div>
.container {
width:100%;
}
.image {
overflow:hidden;
}
.image > img {
width: 100%
}
.text {
background:blue;
float:left;
}
这里有一些额外的信息:http://www.sitepoint.com/understanding-block-formatting-contexts-in-css/ 一个 希望能帮助到你! :)