li 导航栏中的文本在 Chrome/ Safari 中为两行,但在 Firefox 中为一行
Text inside li navigation bar on two lines in Chrome/ Safari but one line in Firefox
我不确定为什么,但超过一定的字体大小后,我的导航栏中的文本显示为两行。由于某些原因,Chrome 和 Safari 中的框大小没有更新,但在 Firefox 中仍然可以正常工作。
Firefox
Chrome
这些 Web 浏览器之间有什么区别会对我的代码产生这种影响?
<nav id="topTab">
<a href="#" id="mobNav"></a>
<ul>
<li><a href="http://www.example.org/" title="morning delight">page1</a></li>
<li><a href="http://www.example.org/" title="yesterday">page2</a></li>
<li><a href="http://www.example.org/" title="accelaaaa">page3</a></li>
</ul>
<div>
<h1>
<b href="http://localhost:8000/home.html" title="Home">Example1</b></h1>
</div>
</nav>
CSS:
@media only screen and (min-width : 1024px) {
a {
background: #fcfcfc;
color: #000;
text-align: center;
text-decoration: none;
font-family: 'Gloria Hallelujah';
}
#topTab{
position:relative;
}
nav#topTab {
float: left;
width: 100%;
overflow: hidden;
}
nav#topTab ul {
float: left;
clear: left;
position: relative;
list-style: none;
margin: 0;
padding: 0;
left: 50%;
}
nav#topTab ul li {
display: block;
float: left;
list-style: none;
margin: 0;
padding: 0;
position: relative;
right: 50%;
}
nav#topTab ul li a {
display: block;
padding: 0 5% 0 5%;
margin: 0 15% 0 3%;
font-size: 2.2em;
}
nav#topTab ul li a:hover {
background: #000;
color: #fff;
}
h1 {
position: relative;
text-align: center;
top: 20%;
}
h1 b {
font-size: 2.3em;
text-decoration: none;
color: black;
font-weight: bold;
font-family: 'Caveat Brush';
}
}
您的无序列表是浮动的。浮动元素会将其从文档的 "natural" 流中移除,因此,您的文本正试图适应这种 "unnatural" 流。
您必须清除浮动才能再次恢复流量。这可以通过添加附加了 clear: both
样式的元素来完成。在这种情况下,您可以将两者都添加到 div 包装标题标签。
div {clear: both}
我不确定为什么,但超过一定的字体大小后,我的导航栏中的文本显示为两行。由于某些原因,Chrome 和 Safari 中的框大小没有更新,但在 Firefox 中仍然可以正常工作。
Firefox
Chrome
这些 Web 浏览器之间有什么区别会对我的代码产生这种影响?
<nav id="topTab">
<a href="#" id="mobNav"></a>
<ul>
<li><a href="http://www.example.org/" title="morning delight">page1</a></li>
<li><a href="http://www.example.org/" title="yesterday">page2</a></li>
<li><a href="http://www.example.org/" title="accelaaaa">page3</a></li>
</ul>
<div>
<h1>
<b href="http://localhost:8000/home.html" title="Home">Example1</b></h1>
</div>
</nav>
CSS:
@media only screen and (min-width : 1024px) {
a {
background: #fcfcfc;
color: #000;
text-align: center;
text-decoration: none;
font-family: 'Gloria Hallelujah';
}
#topTab{
position:relative;
}
nav#topTab {
float: left;
width: 100%;
overflow: hidden;
}
nav#topTab ul {
float: left;
clear: left;
position: relative;
list-style: none;
margin: 0;
padding: 0;
left: 50%;
}
nav#topTab ul li {
display: block;
float: left;
list-style: none;
margin: 0;
padding: 0;
position: relative;
right: 50%;
}
nav#topTab ul li a {
display: block;
padding: 0 5% 0 5%;
margin: 0 15% 0 3%;
font-size: 2.2em;
}
nav#topTab ul li a:hover {
background: #000;
color: #fff;
}
h1 {
position: relative;
text-align: center;
top: 20%;
}
h1 b {
font-size: 2.3em;
text-decoration: none;
color: black;
font-weight: bold;
font-family: 'Caveat Brush';
}
}
您的无序列表是浮动的。浮动元素会将其从文档的 "natural" 流中移除,因此,您的文本正试图适应这种 "unnatural" 流。
您必须清除浮动才能再次恢复流量。这可以通过添加附加了 clear: both
样式的元素来完成。在这种情况下,您可以将两者都添加到 div 包装标题标签。
div {clear: both}