html 菜单项中的左右对齐文本
Left and right aligned text in html menu items
我需要的是在 same
菜单项中左对齐项目文本和右对齐键盘快捷键的菜单项,就像在任何计算机程序的经典菜单中一样。
html 示例:
<nav>
<ul>
<li><a href="#">Menu 1</a>
<ul>
<li><a href="#" >menu item 1 ... ⌃⌥ B</a></li>
<li><a href="#" >menu item 2 </a></li>
<li><a href="#" >menu item 3 </a></li>
</ul>
</li>
<li><a href="#">Menu 2</a> </li>
</ul>
</nav>
我可以在 <li>
标签中放置两个 <a>
标签,一个用于左对齐文本,一个用于右对齐文本吗?
<li> <a href="#"> menu item 1 ...</a> <a>⌃⌥ B</a> </li>
如何使用 CSS 实现此目的?
你不能只在一个特定的标签中这样做。您应该首先为父标签定义一个固定宽度,然后相应地对它们进行algin
看这里:https://jsfiddle.net/5a6nnvxo/
即您可以尝试使用
来实现您的目标
float: right;
命令。
您可以使用 CSS 标签 float
来做到这一点。这是 fiddle
这是我的做法。只需在 <span></span>
中放入图标(无论是图片还是文字或其他)
NOTE You don't have to use span
, a div
with an ID or Class works just as well
li
的宽度只是为了给定一个固定大小。
span {
float: right;
}
li {
width: 200px;
}
<nav>
<ul>
<li><a href="#">Menu 1</a>
<ul>
<li><a href="#" >menu item 1 ... <span>⌃⌥ B</span></a></li>
<li><a href="#" >menu item 2 </a></li>
<li><a href="#" >menu item 3 </a></li>
</ul>
</li>
<li><a href="#">Menu 2</a> </li>
</ul>
</nav>
我在这里尝试解决您的示例代码,我确实在努力工作
Note: if your structure would be same as you have given then you may
go for it or you can refer this
.submenu{
display:block;
width:160px;
}
ul.submenu li{
background-color:green;
width:inherit;
}
ul.submenu li a:nth-child(odd){
background-color:grey;
}
ul.submenu li a:nth-child(even){
clear: right;
background-color: red;
float: right;
}
<nav>
<ul>
<li><a href="#">Menu 1</a>
<ul class="submenu">
<li><a href="#"> menu item 1 ...</a> <a>⌃⌥ B</a></li>
<li><a href="#" >menu item 2 </a> <a>⌃⌥ C</a> </li>
<li><a href="#" >menu item 3 </a> <a>⌃⌥ D</a> </li>
</ul>
</li>
<li><a href="#">Menu 2</a> </li>
</ul>
</nav>
我需要的是在 same
菜单项中左对齐项目文本和右对齐键盘快捷键的菜单项,就像在任何计算机程序的经典菜单中一样。
html 示例:
<nav>
<ul>
<li><a href="#">Menu 1</a>
<ul>
<li><a href="#" >menu item 1 ... ⌃⌥ B</a></li>
<li><a href="#" >menu item 2 </a></li>
<li><a href="#" >menu item 3 </a></li>
</ul>
</li>
<li><a href="#">Menu 2</a> </li>
</ul>
</nav>
我可以在 <li>
标签中放置两个 <a>
标签,一个用于左对齐文本,一个用于右对齐文本吗?
<li> <a href="#"> menu item 1 ...</a> <a>⌃⌥ B</a> </li>
如何使用 CSS 实现此目的?
你不能只在一个特定的标签中这样做。您应该首先为父标签定义一个固定宽度,然后相应地对它们进行algin
看这里:https://jsfiddle.net/5a6nnvxo/
即您可以尝试使用
来实现您的目标float: right;
命令。
您可以使用 CSS 标签 float
来做到这一点。这是 fiddle
这是我的做法。只需在 <span></span>
NOTE You don't have to use
span
, adiv
with an ID or Class works just as well
li
的宽度只是为了给定一个固定大小。
span {
float: right;
}
li {
width: 200px;
}
<nav>
<ul>
<li><a href="#">Menu 1</a>
<ul>
<li><a href="#" >menu item 1 ... <span>⌃⌥ B</span></a></li>
<li><a href="#" >menu item 2 </a></li>
<li><a href="#" >menu item 3 </a></li>
</ul>
</li>
<li><a href="#">Menu 2</a> </li>
</ul>
</nav>
我在这里尝试解决您的示例代码,我确实在努力工作
Note: if your structure would be same as you have given then you may go for it or you can refer this
.submenu{
display:block;
width:160px;
}
ul.submenu li{
background-color:green;
width:inherit;
}
ul.submenu li a:nth-child(odd){
background-color:grey;
}
ul.submenu li a:nth-child(even){
clear: right;
background-color: red;
float: right;
}
<nav>
<ul>
<li><a href="#">Menu 1</a>
<ul class="submenu">
<li><a href="#"> menu item 1 ...</a> <a>⌃⌥ B</a></li>
<li><a href="#" >menu item 2 </a> <a>⌃⌥ C</a> </li>
<li><a href="#" >menu item 3 </a> <a>⌃⌥ D</a> </li>
</ul>
</li>
<li><a href="#">Menu 2</a> </li>
</ul>
</nav>