我试图右对齐导航而不使用浮点数。我在网上看到我可以将父元素设置为text-align: right
,但是当我尝试它时它没有用。我很感激任何帮助,因为我知道这是一个简单的问题,但是当天大部分时间都让我很困惑。
header {
background-color: #AEB7CC;
padding: 0 10px;
}
nav {
display: inline-block;
}
nav li {
display: inline;
}

<header>
<a href="hi.php">hi</a>
<nav>
<ul>
<li><a href="index.php">Home</a>
</li>
<li>bop</li>
<li>bop</li>
<li>bop</li>
</ul>
</nav>
</header>
&#13;
答案 0 :(得分:0)
一种可能的建议解决方案如下:
将<nav>
放在<div>
元素中,然后将text-align
属性用于指定的div。像这样:
HTML:
<div class="nav_menu">
<nav>
<ul>
<li><a href="index.php">Home</a></li>
<li>bop</li>
<li>bop</li>
<li>bop</li>
</ul>
</nav>
</div>
CSS:
.nav_menu{
text-align: right;
}
<强>更新强>
将<a>
标记放在另一个div中,然后指定所选div的宽度。你的最终代码应该是这样的:
HTML:
<header>
<div class="atag_div">
<a href="hi.php">hi</a>
</div>
<div class="nav_menu">
<nav>
<ul>
<li><a href="index.php">Home</a></li>
<li>bop</li>
<li>bop</li>
<li>bop</li>
</ul>
</nav>
</div>
</header>
CSS:
header {
background-color: #AEB7CC;
padding: 0 10px;
}
nav li {
display: inline;
}
.atag_div{
width: 20%;
display: inline-block;
}
.nav_menu{
width: 78%;
display: inline-block;
text-align: right;
}
的jsfiddle:
VACUUM FULL
previously which takes an exclusive lock as well:
答案 1 :(得分:0)
解决方案是您必须将 text-align: right;
添加到父元素header
。
header {
text-align: right;
...
}
然后将 display: inline-block;
添加到子项(nav
),子项将对齐。
另一种解决方案是将宽度设置为nav
和a
:
header nav {
with: 80%;
}
header a {
width: 20%;
}
header nav ul {
text-align: right;
}
header nav ul li {
display: inline-block;
}
答案 2 :(得分:0)
如果您希望导航向右移动,简单的方法是text-align:right
,但由于您不想使用此方法,如果导航100% width
,nav{width:98%; text-align:right};
会将其置于右侧为那一行。
因此,您可以执行以下两种操作之一。
现在使用 CSS 可以制作
var anchorTopWidth = $("a").width() / $('a').parent().width() * 100;
requiredWidth = 100-anchorTopWidth;
$('nav').css({'width': requiredWidth+'%', 'text-align':'right'});
或为了获得更好的效果,请使用 JS
ROW EXCLUSIVE