最佳答案
我正在尝试生成另一个 lightbox,因为这是很需要的 HTML/CSS/Javascript 实践,但是我遇到了一个样式问题,这个问题看起来微不足道(可能确实如此!)但我就是解决不了。
我有一个包含 img
的 div
。无论我尝试(border
,margin
,padding
,自动高度等)我只是不能使 div
收缩匹配图像尺寸。我把问题简化成这样:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
<title>Layout experiments</title>
<style type="text/css">
#lightbox {
margin: 0;
padding: 0;
position : fixed;
left : 50%;
margin-left : -320px;
top : 100px;
border-radius: 22px;
background : #e0e0f0;
color : #102020;
}
#lightbox img {
border-radius: 15px;
}
.imagebg {
margin : 7px;
background : black;
border-radius: 15px;
height : 100%;
}
</style>
</head>
<body>
<div id="lightbox">
<div class="imagebg">
<img src="picture.jpg">
</div>
</div>
</body>
</html>
Jpg 是640x400,但容器 div 希望是640x404,差异显示为图像下方的黑条。Div 的存在使我可以通过将图像的不透明度混合为0来淡化为黑色,然后交换它,然后再混合回来。
我查看了多个浏览器中的计算样式,看不出4px 增量是从哪里来的。