Css “A”的中间垂直对齐;img";在;a「;
HTML代码:Css “A”的中间垂直对齐;img";在;a「;,css,image,vertical-alignment,Css,Image,Vertical Alignment,HTML代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head></head> <body> <div class="lt-0 partner">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head></head>
<body>
<div class="lt-0 partner">
<div class="csc-textpic csc-textpic-center csc-textpic-above" >
<div class="csc-textpic-imagewrap csc-textpic-single-image">
<a>
<img href="bilder/bild.jpg" />
</a>
</div>
</div>
</div>
</body>
</html>
我的问题是,图像必须居中,但链接必须为全尺寸。
它是打字错误3网站的一部分
提前感谢您的帮助。首先:代码中几乎没有错误
ID=“div”
,但在所有CSS选择器中都有它作为第一个元素IMG
元素设置样式的CSS选择器没有满足要求,因为其中有一个DIV
太多了IMG
元素没有定义href
属性,而是定义src
display
我使用的类型在当今大多数浏览器中都受支持,当然,IE中至少需要版本8的浏览器除外。任何老一点的东西都不支持他们。我想你的意思是什么
如果容器的尺寸未确定,则使用:
如果容器和图像都有未确定的高度,则需要javascript。如果需要帮助,请呼喊。您可以使用标记“a”获得此图像的水平对齐:
但不幸的是,为了获得垂直对齐,您需要使用父div的已知高度手动设置此图像的边距顶部(或者,使用相同的结果,为“a”标记填充顶部)。您可以使用一些jquery插件(只需在google中搜索类似“jquery垂直对齐插件”的内容,就可以使用很多插件)或者编写自己的脚本。注意:
#div.partner div div a img
可以简化为#div.partner div a img
或更改为#div>.partner>div>div>a>img
。否则,基于你的HTML,我看不出在你的CSS中有多个div
选择器有什么意义。这似乎完全错了。。我没有看到您在css中选择的id为“div”的div:)我们在css中看到的维度是静态的吗?图像尺寸也是静态的,所以你知道它有多大?@Robert Koritnik同意,并且#div>.partner>div>div>a>img
比#div.partner div a img
更快。如果这些尺寸不是静态的呢?您将无法像添加最后一句那样设置行高
。+1。解决方案本身或多或少等同于第一个解决方案。一个元素仍然假定为静态的。但是我想知道,如果使用一个额外的SPAN
元素,并且没有您建议的Javascript,您将如何解决这个问题…@Robert Hmmm,我认为使用行高:0
可以工作,但我错了。奇怪的是,这个把戏是用来在图像上定位徽章的。在这种特殊情况下,图像容器仍然是静态标注的。。。但这似乎仍然是一个很好的把戏,我显然没有花足够的时间去理解,因为我真的不懂这个把戏。@Robert我也用过这个把戏。说清楚一点:我本以为会奏效,但事实并非如此。@NGLN:现在呢?可以删除-1吗?:)
#div .partner div div{
height: 140px;
width: 280px;
border: 1px solid #000;
}
#div .partner div div a{
height: 100%;
width: 100%;
display: block;
vertical-align: middle;
}
#div .partner div div div a img{
display: inline;
}
<!-- dimensions are set inline to make them of different size -->
<div class="container" style="height: 100px; width: 250px;">
<a href="#">
<img src="img111.png" />
</a>
</div>
<div class="container" style="height: 120px; width: 150px;">
<a href="#">
<img src="img222.png" />
</a>
</div>
.container {
border: 2px solid #c00;
display: table;
}
.container a {
border: 2px solid #f90;
display: table-cell;
text-align: center;
vertical-align: middle;
}
.container a img {
border: 2px solid #9cf;
background: #eee;
padding: 2px;
}
.partner div div {
height: 140px;
width: 280px;
border: 1px solid #000;
}
.partner div div a {
height: 100%;
width: 100%;
display: block;
line-height: 140px;
text-align: center;
}
.partner div div a img {
vertical-align: middle;
}
.partner div div {
height: 140px;
width: 280px;
border: 1px solid #000;
}
.partner div div a {
height: 100%;
width: 100%;
display: block;
text-align: center;
}
.partner div div a img {
position: relative;
top: 50%;
margin-top: -25px; /* = half the image height */
}
text-align: center;