CSS Text位置IE / FF问题

时间:2010-09-10 10:11:19

标签: css browser cross-browser stylesheet

我有这个导航

<div class="cookieBar">
    <div class="light first">
        <a href="#" class="ckLnk">Home</a>
    </div>
    <div class="dark">
        <img src="images/cnavR1.png" class="pointE" /><a href="#9" class="ckLnk">Cars</a>
    </div>
    <div class="light">
        <img src="images/cnavR2.png" class="pointE" /><a href="#11" class="ckLnk">Ferrari</a>
    </div>
    <div class="dark">
        <img src="images/cnavR1.png" class="pointE" /><a href="#18" class="ckLnk">Broken Ones</a>
    </div>
    <div class="light">
        <img src="images/cnavR2.png" class="pointE" /><a href="#23" class="ckLnk">No Windows</a>
    </div>
    <img src="images/cnavR1.png" class="pointE" />
    <div style="clear:both">
    </div>
</div>

使用CSS:

/* Cookie navigation trail */
.cookieBar
{
    background-color: #D8DFE3;
    height: 26px;
    width: 100%;
    margin-bottom: 12px;
}
.light
{
    background-color:#0F6B93;
    height: 26px;
    float:left;
}
.dark
{
    background-color:#0E3B52;
    height: 26px;
    float:left;
}
.first
{
    padding-left: 10px;
}
.ckLnk
{
    color: #ffffff;
    font-size: 11px;
    font-weight: bold;
    font-family: Arial;
    text-decoration: none; 
}
.ckLnk:hover
{
    text-decoration: underline;
}
.pointE
{
    float:left;
    padding-right:10px;
}

我需要锚点链接来放置几个像素,这样它就会在它的框中居中。当我做position:relative;top:5px;它在FF中运行良好,但在IE中它有相当多的px关闭。我似乎无法在两种浏览器中得到它!

任何提示? IE需要排名靠前:8px;和FF需要是最高的:4px;为了让它看起来正确。

5 个答案:

答案 0 :(得分:1)

或者,要将链接对齐在中心,您只需使用与导航栏高度相同大小的line-height即可。在这种情况下:

.ckLnk
{
  line-height: 26px; 
}

答案 1 :(得分:0)

IE可以收听#tag作为示例:

#top:5px;  only works in IE,

因此尝试使用5px

来降低div的高度
#height:21px;

别忘了保留其他浏览器的旧高度:

#height:21px;
height:26px;

等我忘了!

如果使用5px进行递减不能正常工作@ height,请尝试使用5px增加它!

#height:31px;

答案 2 :(得分:0)

使用条件评论会解决问题吗?

http://en.wikipedia.org/wiki/Conditional_Comments

答案 3 :(得分:0)

首先,您应该尝试重置尽可能多的属性。有时,默认的边距/填充/不同浏览器中的任何内容都存在差异。

尝试加载reset.css并查看是否仍然存在同样的问题。这样你就可以开始缩小问题所在。

答案 4 :(得分:0)

我个人会将此HTML标记更改为无序列表,并使用图像设置LI样式。

在语义上更正确,更容易控制。

标记类似于:

<ul class="cookiebar">
<li class="first light"><a class="home" href="#">Home</a></li>
<!-- etc-->
</ul>

css for

a.home { 
  background:url(cNavR1.png); 
  display:block; 
  width:100%; 
  height:100%; 
  text-indent:-999em;
}