firefox和chrome之间的CSS图像对齐差异

时间:2016-07-14 20:15:30

标签: css image alignment vertical-alignment

我无法在所有浏览器之间正确对齐我的图片:

enter image description here

我想知道这是否是边界问题?

问题:解决此问题的最佳方法是创建媒体查询吗?现在我尝试找到一个良好的中间地带,但是当在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 ,以防我遗漏任何相关代码(您需要在地图上选择一个点来打开结果)。

1 个答案:

答案 0 :(得分:1)

问题是你使用负相对定位来试图排列它。

#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;
}