将FontAwesome图标“caret-right”应用于菜单中的三个li- / a-tags,以指示子菜单的存在。图标应右对齐。我的代码适用于Chrome和Edge,但不适用于Firefox。了解通过CDN加载FA文件可能出现的问题,因此我切换到从我的网站空间加载它们,但没有成功。我可以看到菜单项末尾的图标,但它们被切断并向下推。 这是我的HTML和CSS:
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" media="all" href="../css/reset.css" />
<link rel="stylesheet" type="text/css" media="all" href="../css/960.css" />
<link rel="stylesheet" href="../font-awesome/css/font-awesome.min.css">
<title>Titel</title>
<style type="text/css">
body, select, input, textarea, button {
font-family: 'Trebuchet MS',Verdana,Helvetica,Arial,sans-serif;
font-size: 13px;
line-height: 1.5em;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
}
nav > ul > li {
float: left;
}
nav > ul > li > ul {
display: none;
}
nav > ul a {
display: block;
white-space: nowrap;
padding: 10px;
background: #444;
color: #fff;
text-decoration: none;
}
nav > ul > li > a:after {
content: "\f0d7";
font-family: 'FontAwesome';
padding-left: 0.35em
}
nav > ul li > a:only-child:after {
content: "";
}
nav > ul > li:hover > ul {
display: block;
position: absolute;
}
nav > ul > li > ul > li {
position: relative;
}
nav > ul > li > ul > li > a:after {
float: right;
content: "\f0da";
font-family: 'FontAwesome';
padding-left: 1em
}
nav > ul li > a:only-child:after {
content: "";
}
nav > ul > li > ul > li > ul {
display: none;
}
nav > ul > li > ul > li:hover > ul {
display: block;
position: absolute;
left: 100%;
top: 0;
}
</style>
</head>
<body>
<nav>
<ul class="grid_12">
<li><a href="#">Home</a></li>
<li><a href="./mitglieder/mitglieder.php">Mitglieder</a></li>
<li><a href="#">Clubturniere</a>
<ul>
<li><a href="./cm/cm.php">Clubmeisterschaft</a></li>
<li><a href="./mobl/mobl_gw.php">Monats-Blitzturniere</a></li>
</ul>
</li>
<li><a href="./mannschaft/mannschaften.php">Mannschaften</a>
<ul>
<li><a href="#">Bayerische Meisterschaft</a>
<ul>
<li><a href="./mannschaft/m1.php">1. Mannschaft</a></li>
<li><a href="./mannschaft/m2.php">2. Mannschaft</a></li>
</ul>
</li>
<li><a href="#">Münchner Meisterschaft</a>
<ul>
<li><a href="./mannschaft/m3.php">3. Mannschaft</a></li>
<li><a href="./mannschaft/m4.php">4. Mannschaft</a></li>
<li><a href="./mannschaft/m5.php">5. Mannschaft</a></li>
<li><a href="./mannschaft/m6.php">6. Mannschaft</a></li>
<li><a href="./mannschaft/m7.php">7. Mannschaft</a></li>
</ul>
</li>
<li><a href="#">Senioren</a>
<ul>
<li><a href="./mannschaft/sen_m1.php">Senioren 1</a></li>
<li><a href="./mannschaft/sen_m2.php">Senioren 2</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="./termine/termine.php">Termine</a></li>
<li><a href="#">Schachaufgaben</a>
<ul>
<li><a href="./aufgaben/schachaufgaben_1.php">Nummer 1 – 18</a></li>
<li><a href="./aufgaben/schachaufgaben_2.php">Nummer 19 – 36</a></li>
</ul>
</li>
<li><a href="./archiv/archiv.php">Archiv</a></li>
<li><a href="./kontakt/kontakt.php">Kontakt</a></li>
</ul>
</nav>
</body>
</html>
该文件的链接是http://msc1836.bplaced.net/menutest.html 操作系统是Win-10,Firefox版本是50.1.0。
有人可以帮忙吗? 谢谢,迈克
答案 0 :(得分:1)
删除white-space
表单nav > ul a
并且它正常运行
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" media="all" href="../css/reset.css" />
<link rel="stylesheet" type="text/css" media="all" href="../css/960.css" />
<link rel="stylesheet" href="../font-awesome/css/font-awesome.min.css">
<title>Titel</title>
<style type="text/css">
body, select, input, textarea, button {
font-family: 'Trebuchet MS',Verdana,Helvetica,Arial,sans-serif;
font-size: 13px;
line-height: 1.5em;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
}
nav > ul > li {
float: left;
}
nav > ul > li > ul {
display: none;
}
nav > ul a {
display: block;
//white-space: nowrap;
padding: 10px;
background: #444;
color: #fff;
text-decoration: none;
}
nav > ul > li > a:after {
content: "\f0d7";
font-family: 'FontAwesome';
padding-left: 0.35em
}
nav > ul li > a:only-child:after {
content: "";
}
nav > ul > li:hover > ul {
display: block;
position: absolute;
}
nav > ul > li > ul > li {
position: relative;
}
nav > ul > li > ul > li > a:after {
float: right;
content: "\f0da";
font-family: 'FontAwesome';
padding-left: 1em
}
nav > ul li > a:only-child:after {
content: "";
}
nav > ul > li > ul > li > ul {
display: none;
}
nav > ul > li > ul > li:hover > ul {
display: block;
position: absolute;
left: 100%;
top: 0;
}
</style>
</head>
<body>
<nav>
<ul class="grid_12">
<li><a href="#">Home</a></li>
<li><a href="./mitglieder/mitglieder.php">Mitglieder</a></li>
<li><a href="#">Clubturniere</a>
<ul>
<li><a href="./cm/cm.php">Clubmeisterschaft</a></li>
<li><a href="./mobl/mobl_gw.php">Monats-Blitzturniere</a></li>
</ul>
</li>
<li><a href="./mannschaft/mannschaften.php">Mannschaften</a>
<ul>
<li><a href="#">Bayerische Meisterschaft</a>
<ul>
<li><a href="./mannschaft/m1.php">1. Mannschaft</a></li>
<li><a href="./mannschaft/m2.php">2. Mannschaft</a></li>
</ul>
</li>
<li><a href="#">Münchner Meisterschaft</a>
<ul>
<li><a href="./mannschaft/m3.php">3. Mannschaft</a></li>
<li><a href="./mannschaft/m4.php">4. Mannschaft</a></li>
<li><a href="./mannschaft/m5.php">5. Mannschaft</a></li>
<li><a href="./mannschaft/m6.php">6. Mannschaft</a></li>
<li><a href="./mannschaft/m7.php">7. Mannschaft</a></li>
</ul>
</li>
<li><a href="#">Senioren</a>
<ul>
<li><a href="./mannschaft/sen_m1.php">Senioren 1</a></li>
<li><a href="./mannschaft/sen_m2.php">Senioren 2</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="./termine/termine.php">Termine</a></li>
<li><a href="#">Schachaufgaben</a>
<ul>
<li><a href="./aufgaben/schachaufgaben_1.php">Nummer 1 – 18</a></li>
<li><a href="./aufgaben/schachaufgaben_2.php">Nummer 19 – 36</a></li>
</ul>
</li>
<li><a href="./archiv/archiv.php">Archiv</a></li>
<li><a href="./kontakt/kontakt.php">Kontakt</a></li>
</ul>
</nav>
</body>
</html>
答案 1 :(得分:1)
删除white-space
中影响Firefox中nav > ul a
伪元素的float: right
。
但是,为了使li
元素保持一条直线,请提供min-width
值:
nav > ul a {
display: block;
min-width: 90px;
padding: 10px;
background: #444;
color: #fff;
text-decoration: none;
}
答案 2 :(得分:0)
感谢Minal Chauhan和nashcheez的快速回复。从white-space
部分删除nav > ul a
命令解决了该问题。我还在我的第3级链接上应用了min-width
,否则其行将被包裹。