我有一个跨页面的菜单。我把它的包装器设置为100%并且正确地,它完全跨越其容器。我的菜单项目设置为25%,但是菜单左侧有大约20px的空间,显示背景颜色。无论大小和余量如何:0自动,空间仍然存在。
.center{
margin:0 auto;
width:100%;
height:100%;
background-color:#3c87bc;
padding:0;
}
#top_forums_menu{
width:100%;
height:24px;
background-color:#5dbcff;
position:relative;
}
ul#top_forums_menu_bars {
list-style-type: none;
margin:0 auto;
}
ul#top_forums_menu_bars li {
float: left;
width:25%;
height: 100%;
overflow:hidden;
-webkit-box-shadow: 0 6px 2px -4px black;
-moz-box-shadow: 0 6px 2px -4px black;
box-shadow: 0 6px 2px -4px black;
transition: all .25s ease-in-out;
-moz-transition: all .25s ease-in-out;
-webkit-transition: all .25s ease-in-out;
}
ul#top_forums_menu_bars li:hover{
border-bottom:5px solid #3a5871;
}
ul#top_forums_menu_bars li a{
display: inline-block;
width: 100%;
height: 100%;
opacity:1;
text-decoration:none;
transition: opacity .5s ease-in-out;
-moz-transition: opacity .5s ease-in-out;
-webkit-transition: opacity .5s ease-in-out;
line-height:10px;
padding-top:7px;
text-align:center;
font-family: Tahoma, Verdana, Segoe, sans-serif;
font-size:12px;
color:white;
}
ul#top_forums_menu_bars li a:hover {
opacity:.8;
}
<div id='top_forums_menu'>
<div class='center'>
<ul id='top_forums_menu_bars'>
<li><a href='' style='background-color:#5dbcff;'>Profile</a></li>
<li><a href='' style='background-color:#5dbcff;'>Account Settings</a></li>
<li><a href='' style='background-color:#5dbcff;'>My Content</a></li>
<li><a href='' style='background-color:#5dbcff;'>MyOACH</a></li>
</ul>
</div>
</div>
答案 0 :(得分:1)
<ul>
有一个默认的填充,可以使用以下规则删除:
ul#top_forums_menu_bars
{
padding-left: 0;
}
答案 1 :(得分:0)
问题是<ul>
元素(以及<menu>
和<dir>
元素都有padding-start: 40px
的内置浏览器呈现。这就是导致偏移的原因你看。
解决此问题的最简单方法是明确地向ul#top_forums_menu_bars
padding
0
明确提供.center {
margin: 0 auto;
width: 100%;
height: 100%;
background-color: #3c87bc;
padding: 0;
}
#top_forums_menu {
width: 100%;
height: 24px;
background-color: #5dbcff;
position: relative;
}
ul#top_forums_menu_bars {
list-style-type: none;
margin: 0 auto;
padding: 0;
}
ul#top_forums_menu_bars li {
float: left;
width: 25%;
height: 100%;
overflow: hidden;
-webkit-box-shadow: 0 6px 2px -4px black;
-moz-box-shadow: 0 6px 2px -4px black;
box-shadow: 0 6px 2px -4px black;
transition: all .25s ease-in-out;
-moz-transition: all .25s ease-in-out;
-webkit-transition: all .25s ease-in-out;
}
ul#top_forums_menu_bars li:hover {
border-bottom: 5px solid #3a5871;
}
ul#top_forums_menu_bars li a {
display: inline-block;
width: 100%;
height: 100%;
opacity: 1;
text-decoration: none;
transition: opacity .5s ease-in-out;
-moz-transition: opacity .5s ease-in-out;
-webkit-transition: opacity .5s ease-in-out;
line-height: 10px;
padding-top: 7px;
text-align: center;
font-family: Tahoma, Verdana, Segoe, sans-serif;
font-size: 12px;
color: white;
}
ul#top_forums_menu_bars li a:hover {
opacity: .8;
}
,如下所示:
<div id='top_forums_menu'>
<div class='center'>
<ul id='top_forums_menu_bars'>
<li><a href='' style='background-color:#5dbcff;'>Profile</a></li>
<li><a href='' style='background-color:#5dbcff;'>Account Settings</a></li>
<li><a href='' style='background-color:#5dbcff;'>My Content</a></li>
<li><a href='' style='background-color:#5dbcff;'>MyOACH</a></li>
</ul>
</div>
</div>
* {
margin: 0;
padding: 0;
}
或者,您可以应用全局低 specificity 规则:
public ZonedDateTime getZonedDateTime(String time) {
long longTime = Long.parseLong(time), yearOffset = 3000L;
String timeZone = "US/Pacific";
ZoneId zoneId = ZoneId.of(timeZone);
ZonedDateTime zdt = Instant.ofEpochSecond(longTime).atZone(zoneId);
if (zdt.getLong(ChronoField.YEAR_OF_ERA) >= yearOffset) {
return Instant.ofEpochMilli(longTime).atZone(zoneId);
} else {
return zdt;
}
}
这将覆盖所有浏览器填充/边距怪癖,同时仍然具有足够低的特异性,可以让任何单个选择器覆盖这些规则。
答案 2 :(得分:0)
只需删除左边填充
ul#top_forums_menu_bars {
list-style-type: none;
margin: 0 auto;
padding-left: 0;
}