我无法让我的图像在所有浏览器之间正确对齐:
我想知道这是否是边界问题?
问题:解决此问题的最佳方法是创建媒体查询吗?现在我有点试图找到一个好的中间立场,但是当在 safari 移动应用程序上查看时,这几个像素会产生很大的不同。或者是否有更好的方法在 .mnhouse、.mnsenate、.ushouse、.ussenate1、.ussenate2
div 之间包含图像?
这是我的相关 HTML:
<div id="officials">
<div class='mnhouse'>
<div class="membersublist">
<div class="memberLink"><span id="mnhouselink">Show District <i class="fa fa-external-link-square"></i></span></div>
<div id='housemember' class='lcc_gis_member'></div>
<div id='housedistrict' class='lcc_gis_memberdistrict'></div>
</div>
<img id='housephoto' class='mnhouse_img' src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" width="0" height="0" alt=""/>
</div>
<div class='mnsenate'>
<div class="membersublist">
<div class="memberLink"><span id="mnsenlink">Show District <i class="fa fa-external-link-square"></i></span></div>
<div id='senatemember' class='lcc_gis_member'></div>
<div id='senatedistrict' class='lcc_gis_memberdistrict'></div>
</div>
<img id='senatephoto' class='mnsenate_img' src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" width="0" height="0" alt=""/>
</div>
</div>
这是我的相关 CSS:
#officials img {
height: 100%;
min-height: 87px;
max-width: 65%;
position: relative;
top: -56px;
border:none;
}
.membersublist{
margin-top:15px;
}
.mnhouse, .mnsenate, .ushouse, .ussenate1, .ussenate2 {
height:87px;
background-color: #e6e6e6;
border-top: 1px solid #a7a5a6;
border-right: 1px solid #a7a5a6;
border-bottom: 1px solid #a7a5a6;
border-left: 3px solid #a7a5a6;
}
这是 demo ,以防我遗漏任何相关代码(您需要在 map 上选择一个点才能打开结果)。
最佳答案
问题是您使用负相对定位来尝试对齐。
#officials img {
...
position: relative;
top: -56px;
...
}
基本上,您是相对于文本创建的偏移量定位它的,永远不能指望它在浏览器中保持 100% 一致。
相反,考虑将定位添加到 .mnhouse
包装器,然后使用绝对定位来定位图像。
.mnhouse {
position: relative;
}
#officials img {
height: 100%;
min-height: 87px;
max-width: 65%;
position: absolute;
top: 0;
border:none;
}
关于Firefox 和 Chrome 之间的 CSS 图像对齐差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38383509/