您好想知道是否最好在 Web 应用程序中设置页面的菜单链接样式,仅设置a标签或li标签或两者兼而有之。
例子:
<ul id="mainMenu">
<li><a href="">myLink</a></li>
</ul>
我希望它是绿色的,在a标签或li上设置绿色更好吗?考虑到我将主要使用 js 与 php 和其他所有内容进行交互,根本不添加a标签并坚持使用li标签来触发 js 功能是不是很糟糕?(它主要是 ajax 和动态内容)。
谢谢
您好想知道是否最好在 Web 应用程序中设置页面的菜单链接样式,仅设置a标签或li标签或两者兼而有之。
例子:
<ul id="mainMenu">
<li><a href="">myLink</a></li>
</ul>
我希望它是绿色的,在a标签或li上设置绿色更好吗?考虑到我将主要使用 js 与 php 和其他所有内容进行交互,根本不添加a标签并坚持使用li标签来触发 js 功能是不是很糟糕?(它主要是 ajax 和动态内容)。
谢谢
a
标签具有默认样式,可以赋予它们颜色,通常是下划线。因此,如果您想覆盖这些样式,则必须将它们应用于a
自身,而不是li
包含它。
通常,您不想为整个tag
. 当有更改或项目扩展时,它会变得混乱。
所以,而不是
li {
/*Your styles here*/
/*this is not a great method*/
}
您可能想添加一些对它的引用。所以你的html喜欢,
<ul class="someclass">
<li>
<a>This is a link</a>
</li>
</ul>
因此,CSS喜欢
ul.someclass li {
/*Your styles here */
}
现在,在上面的示例样式中,混淆是将样式应用于父元素 ( <li>
) 还是子元素 ( <a>
)。
子元素将从其父元素继承属性。
因此,如果您的大多数子元素具有与其父元素相同的大多数属性,请将样式应用于父元素。
如果您只需要子元素的某些样式,只需将该样式添加到子元素即可。
示例(上面的 HTML):
ul.someclass li {
font-size:24px;
font-weight: bold;
}
ul.someclass li a {
color:blue;
}
您好想知道是否最好在 Web 应用程序中设置页面的菜单链接样式,仅设置 a 标签或 li 标签或两者兼而有之。
好吧,这取决于您希望站点导航(或其他列表使用)的格式类型,因为样式属性在两个元素之间的行为会有所不同。
一个明显的例子是来自某些属性的默认值,例如display
。链接<a>
标签的默认值是display:inline
并且列表li
标签将具有display:list-item
默认样式,因此设置如下:
li {background-color: red;}
将不同于
a { background-color:blue;}
您可以看到一个功能小提琴,旨在显示两个标签占用的空间。
根本不添加 a 标签而只添加 li 标签来触发 js 功能是不是很糟糕?
a 标签已经具有一些使它们更加用户友好的属性。例如,如果您的用户已经访问过一个站点,您可以使用伪选择器设置您的标签样式:visited
。您可以使用<li>
元素轻松完成此操作。此外,标签已经将cursor
属性设置为pointer
当悬停时,即使您可以在列表元素中使用它,您也将使用更多的 css 来执行a
标签默认的相同操作。
我的最后一条建议是,使用lists
元素来设置导航链接的内部位置,并使用链接来关联 js 函数并设置导航规则的样式,例如何时访问链接、何时激活链接等等。
我希望它有所帮助。干杯
我会说做类似的事情:
ul#mainMenu li a{
your style
}
这样,您就可以将样式应用于该菜单中的链接,而不会弄乱您将来可能添加的链接。
在这种情况下,您的 a 标签将始终覆盖父元素的颜色属性。也就是说,您需要为不同的属性设置样式,例如 li 的显示和标签的颜色。您的布局是完全有效的。