固定宽度容器内带边框的图像
image with border inside fixed width container
我有一个固定宽度的容器 (div) 和里面的图像,这个图像应该适合容器宽度但有边距,像这样:
我尝试在容器中添加填充,它使容器变大。
我的第二次尝试是为图像添加边距,但它使其超出了容器范围。
两次尝试都在这个片段中:
$('.result1').html('div is ' + $('.test1').width() + ' and image is ' + $('.test1 img').width());
$('.result2').html('div is ' + $('.test2').width() + ' and image is ' + $('.test2 img').width());
div{
width: 300px;
background-color: #999;
}
img{
background-color: #FFF;
width: 100%;
}
.test1{
padding:10px;
}
.test2 img{
margin:10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='test1'>
<img src='http://www.iconsdb.com/icons/preview/orange/Whosebug-4-xxl.png' />
</div>
<div class='result1'></div>
<div class='test2'>
<img src='http://www.iconsdb.com/icons/preview/orange/Whosebug-4-xxl.png' />
</div>
<div class='result2'></div>
您需要将 box-sizing: border-box;
分配给您的容器,然后使用您的填充解决方案。 CSS 停止填充到元素的大小。
希望我理解你的问题。
您需要先删除添加到图像的边距。
比给你的 div 容器填充并添加 box-sizing: border-box 到它-
$('.result1').html('div is ' + $('.test1').width() + ' and image is ' + $('.test1 img').width());
div{
width: 300px;
background-color: #999;
box-sizing: border-box;
padding: 10px;
}
img{
background-color: #FFF;
width: 100%;
}
.test1{
padding:10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='test1'>
<img src='http://www.iconsdb.com/icons/preview/orange/Whosebug-4-xxl.png' />
</div>
<div class='result1'></div>
<div class='test2'>
<img src='http://www.iconsdb.com/icons/preview/orange/Whosebug-4-xxl.png' />
</div>
<div class='result2'></div>
如果有效请告诉我
我有一个固定宽度的容器 (div) 和里面的图像,这个图像应该适合容器宽度但有边距,像这样:
我尝试在容器中添加填充,它使容器变大。
我的第二次尝试是为图像添加边距,但它使其超出了容器范围。
两次尝试都在这个片段中:
$('.result1').html('div is ' + $('.test1').width() + ' and image is ' + $('.test1 img').width());
$('.result2').html('div is ' + $('.test2').width() + ' and image is ' + $('.test2 img').width());
div{
width: 300px;
background-color: #999;
}
img{
background-color: #FFF;
width: 100%;
}
.test1{
padding:10px;
}
.test2 img{
margin:10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='test1'>
<img src='http://www.iconsdb.com/icons/preview/orange/Whosebug-4-xxl.png' />
</div>
<div class='result1'></div>
<div class='test2'>
<img src='http://www.iconsdb.com/icons/preview/orange/Whosebug-4-xxl.png' />
</div>
<div class='result2'></div>
您需要将 box-sizing: border-box;
分配给您的容器,然后使用您的填充解决方案。 CSS 停止填充到元素的大小。
希望我理解你的问题。 您需要先删除添加到图像的边距。 比给你的 div 容器填充并添加 box-sizing: border-box 到它-
$('.result1').html('div is ' + $('.test1').width() + ' and image is ' + $('.test1 img').width());
div{
width: 300px;
background-color: #999;
box-sizing: border-box;
padding: 10px;
}
img{
background-color: #FFF;
width: 100%;
}
.test1{
padding:10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='test1'>
<img src='http://www.iconsdb.com/icons/preview/orange/Whosebug-4-xxl.png' />
</div>
<div class='result1'></div>
<div class='test2'>
<img src='http://www.iconsdb.com/icons/preview/orange/Whosebug-4-xxl.png' />
</div>
<div class='result2'></div>
如果有效请告诉我