- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 ul
,它的 li
子元素左边框为 1px,底边框为 2px。问题是我想在每个 li
元素的底部边框之间保留 1px 的空间。这是它目前的样子:
我希望它看起来如何:
如您所见,一旦 border-left
结束,border-bottom
将继续并填充 1px 的间隙。有办法避免这种情况吗?
这是相关的 HTML:
<div id="mainNav">
<ul>
<li>
<a href="#" class="mainNavLink">Leaderboards</a>
</li>
<li>
<a href="#" class="mainNavLink">Statistics</a>
</li>
<li id="mainNavSearch">Search</li>
</ul>
</div>
还有 CSS:
#mainNav{
width: 100%;
height: 35px;
background-color: #202020;
border-bottom: 1px solid #444;
position: relative;
overflow: hidden;
}
#mainNav ul{
width: 960px;
height: 35px;
margin: 0 auto 0 auto;
display: block;
position: relative;
}
#mainNav ul li{
float: left;
position: relative;
height: 25px;
padding: 10px;
padding-top: 8px;
padding-bottom: 0;
font-size: 17px;
border-left: 1px solid #444;
border-bottom: 2px solid #00a4ff;
background: -moz-linear-gradient(top, rgba(24,24,24,0) 60%, rgba(24,24,24,0.38) 90%, rgba(0,0,0,0.5) 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(60%,rgba(24,24,24,0)), color-stop(90%,rgba(24,24,24,0.38)), color-stop(100%,rgba(0,0,0,0.5)));
background: -webkit-linear-gradient(top, rgba(24,24,24,0) 60%,rgba(24,24,24,0.38) 90%,rgba(0,0,0,0.5) 100%);
background: -o-linear-gradient(top, rgba(24,24,24,0) 60%,rgba(24,24,24,0.38) 90%,rgba(0,0,0,0.5) 100%);
background: -ms-linear-gradient(top, rgba(24,24,24,0) 60%,rgba(24,24,24,0.38) 90%,rgba(0,0,0,0.5) 100%);
background: linear-gradient(to bottom, rgba(24,24,24,0) 60%,rgba(24,24,24,0.38) 90%,rgba(0,0,0,0.5) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00181818', endColorstr='#80000000',GradientType=0 );
}
#mainNavSearch{
border-right: 1px solid #444;
}
最佳答案
因为我找不到防止边界泄漏的方法,而且我不希望 a
是整个 li
的大小> 元素,我不得不插入一个额外的 div
并应用 border-bottom
和 padding-left/right
样式来代替:
HTML:
<div id="mainNav">
<ul>
<li>
<div>
<a href="#" class="mainNavLink">Leaderboards</a>
</div>
</li>
<li>
<div>
<a href="#" class="mainNavLink">Statistics</a>
</div>
</li>
<li id="mainNavSearch">Search</li> <!-- I did not include a div here as I plan on changing this to a search bar later -->
</ul>
</div>
CSS:
#mainNav{
width: 100%;
height: 35px;
background-color: #202020;
border-bottom: 1px solid #444;
position: relative;
overflow: hidden;
}
#mainNav ul{
width: 960px;
height: 35px;
margin: 0 auto 0 auto;
display: block;
position: relative;
}
#mainNav ul li{
float: left;
position: relative;
height: 27px;
font-size: 17px;
border-left: 1px solid #444;
padding-top: 8px;
}
#mainNav div{
display: block;
position: relative;
height: 25px;
padding: 0 10px 0 10px;
border-bottom: 2px solid #00a4ff;
background: -moz-linear-gradient(top, rgba(24,24,24,0) 60%, rgba(24,24,24,0.38) 90%, rgba(0,0,0,0.5) 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(60%,rgba(24,24,24,0)), color-stop(90%,rgba(24,24,24,0.38)), color-stop(100%,rgba(0,0,0,0.5)));
background: -webkit-linear-gradient(top, rgba(24,24,24,0) 60%,rgba(24,24,24,0.38) 90%,rgba(0,0,0,0.5) 100%);
background: -o-linear-gradient(top, rgba(24,24,24,0) 60%,rgba(24,24,24,0.38) 90%,rgba(0,0,0,0.5) 100%);
background: -ms-linear-gradient(top, rgba(24,24,24,0) 60%,rgba(24,24,24,0.38) 90%,rgba(0,0,0,0.5) 100%);
background: linear-gradient(to bottom, rgba(24,24,24,0) 60%,rgba(24,24,24,0.38) 90%,rgba(0,0,0,0.5) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00181818', endColorstr='#80000000',GradientType=0 );
}
#mainNavSearch{
border-right: 1px solid #444;
padding: 0 10px 0 10px;
}
输出:
div
并且没有将样式应用于
a
标签的情况下执行此操作,请分享。
关于css - 防止 border-bottom 从 "leaking"进入侧边界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12965602/
有没有办法像 super 速记样式一样在 CSS 中组合 border-top,border-right,border-left,border-bottom。 例如: border: (1px sol
这个问题在这里已经有了答案: Combining border-top,border-right,border-left,border-bottom in CSS (4 个答案) 关闭 3 年前。
所以,我是那些以始终使用最新版本的浏览器而自豪的人之一(当然 Internet Explorer 除外 - 我说的不是那个浏览器)。 我遇到了 this awesome CSS3 website详细介
border-top-color 是 #9b9c9d 而 border-bottom-color 是 #f6f9fc .渐变旨在在border-left 和border-right 上将顶部颜色过渡到
我将开始开发一个新网站,并准备处理浏览器用于计算元素宽度和高度的不同方法 (box model stuff)。不知何故,我想到了:如果我只是将 box-sizing 应用于网站中的所有元素会怎么样?
这是 fiddle :http://jsfiddle.net/3Ys2d/ CSS div{ border: solid 3px blue; border-left-color: re
这个接缝很容易,但我还没有找到任何方法来做到这一点。我有 3 个 div(但解决方案必须适用于 n 个 div),如下图所示: |分区 1 ||分区 2 ||第 3 部分 | 例如: 我想要这样的普通
由于视网膜显示器具有如此高的像素密度,因此在这些显示器上 1 像素的边框看起来非常大。正如 Brad Birdsall 所建议的,CSS box-shadow属性可用于创建“0,5 px”边框,在
我可以这样写边框的样式: border: 2px solid #DDDDDD; 或者像这样: -moz-border-bottom-colors: none; -moz-border-left-col
当在已经有 1px 边框的 div 中覆盖 border-bottom 的大小时,Firefox 和 Chrome 呈现 border-left 和 border-right 不正确: HTML C
我是CSS3新手,最近在学习border-image属性,在看W3C文档的时候: http://dev.w3.org/csswg/css-backgrounds/#border-image-width
我正在尝试在使用 border-radius 属性的 div 上使用 border 属性。 这是我的 CSS: #page { border: 1px solid #beb2b2; w
我只想在已经具有顶部和底部边框(1px 纯灰色)的 div 上添加一个左边框(5px 纯蓝色)。我希望 border-left 位于 border-top 和 border-bottom 之上,但浏览
我有一个使用 border-radius 的带有圆 Angular 的流体宽度 div,以及 div 一侧的大边框,颜色不同。 当浏览器窗口足够小时,所有边框都会正常运行。但是,当我放大窗口大小时,我
导致“错误”的 Css: div { width: 100px; height: 100px; background-color: transparent; box-s
Border-bottom长度小于border-right怎么办? img { border-bottom: 5px solid #02a8d8; border-right:1px s
我是一名优秀的程序员,十分优秀!