CSS 媒体查询下的链接顺序颠倒
Order of Links reverses under CSS Media Query
我有一组用于网站导航的链接。当 window 达到特定宽度时,我有一些 media queries
可以帮助正确显示导航。除了 window 调整大小时链接被反转之外,一切都工作正常。为什么会这样?
JSFiddle: http://jsfiddle.net/snpx63mx/
标记
<header>
<h1><strong>Henry</strong><span id="notbold">+Applications</span></h1>
<nav>
<ul>
<li id="contact"><div id="contactanimation"><a href="contact.html">Contact</a></div></li>
<li id="project"><div id="projectanimation"><a href="projects.html">Project</a></div></li>
<li id="me"><div id="meanimation"><a href="about.html">Me</a></div></li>
</ul>
</nav>
</header>
CSS
header h1
{
font-size: 40px;
float: left;
font-weight: 100;
}
header nav
{
float: right;
}
header nav ul
{
list-style-type: none;
margin: 0;
vertical-align: middle;
line-height: normal;
float: right;
z-index: 999;
position: relative; /* add this */
}
header nav ul li
{
line-height: 15px;
float: right;
padding: 45px;
font-size: 22px;
font-weight: 100;
text-align: center;
}
header nav ul li a
{
color: black;
text-decoration: none;
}
@media screen and (max-width: 1160px) {
header h1
{
float: none;
text-align: center;
font-size: 36px;
}
header nav
{
width: 100%;
margin-right: 20px;
}
header nav ul
{
float: none;
text-align: center;
}
header nav ul li
{
width: 100%;
box-sizing: border-box;
text-align: center;
padding: 25px;
}
}
JSFIDDLE:http://jsfiddle.net/snpx63mx/2/
您的 li 标签上有一个浮动项。这意味着当处于更宽的断点时,您的底部 li 将位于左侧。当它变得更小的宽度时,li 会堆叠在一起,并按照 li 在 html 中列出的顺序从上到下显示。如果您订购了这样的列表项:
<li id="me"><div id="meanimation"><a href="about.html">Me</a></div></li>
<li id="project"><div id="projectanimation"><a href="projects.html">Project</a></div></li>
<li id="contact"><div id="contactanimation"><a href="contact.html">Contact</a></div></li>
然后修改您的 css 使其向左浮动,两种尺寸的顺序相同。
就是我评论里说的,把float: right
改成float: left
:
header nav ul li
{
float: left;
}
我有一组用于网站导航的链接。当 window 达到特定宽度时,我有一些 media queries
可以帮助正确显示导航。除了 window 调整大小时链接被反转之外,一切都工作正常。为什么会这样?
JSFiddle: http://jsfiddle.net/snpx63mx/
标记
<header>
<h1><strong>Henry</strong><span id="notbold">+Applications</span></h1>
<nav>
<ul>
<li id="contact"><div id="contactanimation"><a href="contact.html">Contact</a></div></li>
<li id="project"><div id="projectanimation"><a href="projects.html">Project</a></div></li>
<li id="me"><div id="meanimation"><a href="about.html">Me</a></div></li>
</ul>
</nav>
</header>
CSS
header h1
{
font-size: 40px;
float: left;
font-weight: 100;
}
header nav
{
float: right;
}
header nav ul
{
list-style-type: none;
margin: 0;
vertical-align: middle;
line-height: normal;
float: right;
z-index: 999;
position: relative; /* add this */
}
header nav ul li
{
line-height: 15px;
float: right;
padding: 45px;
font-size: 22px;
font-weight: 100;
text-align: center;
}
header nav ul li a
{
color: black;
text-decoration: none;
}
@media screen and (max-width: 1160px) {
header h1
{
float: none;
text-align: center;
font-size: 36px;
}
header nav
{
width: 100%;
margin-right: 20px;
}
header nav ul
{
float: none;
text-align: center;
}
header nav ul li
{
width: 100%;
box-sizing: border-box;
text-align: center;
padding: 25px;
}
}
JSFIDDLE:http://jsfiddle.net/snpx63mx/2/
您的 li 标签上有一个浮动项。这意味着当处于更宽的断点时,您的底部 li 将位于左侧。当它变得更小的宽度时,li 会堆叠在一起,并按照 li 在 html 中列出的顺序从上到下显示。如果您订购了这样的列表项:
<li id="me"><div id="meanimation"><a href="about.html">Me</a></div></li>
<li id="project"><div id="projectanimation"><a href="projects.html">Project</a></div></li>
<li id="contact"><div id="contactanimation"><a href="contact.html">Contact</a></div></li>
然后修改您的 css 使其向左浮动,两种尺寸的顺序相同。
就是我评论里说的,把float: right
改成float: left
:
header nav ul li
{
float: left;
}