【发布时间】:2010-11-25 19:37:22
【问题描述】:
我一直听说 CSS 中的边距在彼此相邻时会塌陷,因此将两个元素设置为周围 40 像素只会导致它们之间只有 40 像素。
这是呈现 CSS 的旧方式吗,因为它不再以这种方式工作了吗?
这是 HTML 和 CSS。我似乎无法让边距崩溃:
相关 HTML
<div id="header">
<div id="mainNav" class="navBar">
<a id="homeLink" class="navBarLinks">Home</a>
<a id="aboutLink" class="navBarLinks">About</a>
<a id="articlesLink" class="navBarLinks">Articles</a>
<a id="portfolioLink" class="navBarLinks">Portfolio</a>
<a id="contactLink" class="navBarLinks">Contact</a>
<a id="rssLink" class="navBarLinks">RSS</a>
</div>
<div class="infoBar"></div>
</div>
CSS
#header { width: 100% }
.navBar {
width: 100%;
height: 24px;
background-color: #1a1a1a;
border: 0px solid #404040
}
#mainNav { border-bottom-width: 2px }
.navBarLinks {
display: block; float: left;
height: 11px;
margin: 0 30px;
background: url(/images/STORMINKsprite.png) no-repeat;
text-indent: -9999px
}
感谢您的建议!
【问题讨论】:
-
文本缩进是怎么回事:-9999px?我很好奇。
-
.navBarLinks 全部替换为精灵,但我希望文本存在于可访问性和机器人中,所以我只是将其缩进离开页面。我认为这是标准?还是我使用了一些古老的方法?
-
我也是……这似乎是一些更大的 html 页面的一部分……
-
@theIV - 这是一种称为“Phark 方法”的图像替换技术,它可能是 Ian 心目中最流行的方法,至少对于非文本图像替换而言。
-
好吧,确保我没有使用一些过时的方法。另外,需要注意的是,我认为 Anthony 所说的非文本是指非正文或大段落。