Javascript 链接式礼仪
Hi想知道在web应用程序中设置页面菜单链接的样式是否更好,只设置a标记或li标记的样式,还是同时设置两者的样式 例如:Javascript 链接式礼仪,javascript,html,css,tags,styles,Javascript,Html,Css,Tags,Styles,Hi想知道在web应用程序中设置页面菜单链接的样式是否更好,只设置a标记或li标记的样式,还是同时设置两者的样式 例如: <ul id="mainMenu"> <li><a href="">myLink</a></li> </ul> 我希望它是绿色的,是更好的样式颜色绿色的标签或李? 考虑到我将主要使用js与php和其他任何东西进行交互,不添加a标记而只使用li标记来触发js函数是否不好(主要是ajax和动态内容)
<ul id="mainMenu">
<li><a href="">myLink</a></li>
</ul>
我希望它是绿色的,是更好的样式颜色绿色的标签或李?
考虑到我将主要使用js与php和其他任何东西进行交互,不添加a标记而只使用li标记来触发js函数是否不好(主要是ajax和动态内容)
谢谢我要说的是,做一些像这样的事情:
ul#mainMenu li a{
your style
}
li {background-color: red;}
这样,您就可以将样式应用于该菜单中的链接,而不会影响将来可能添加的链接。在这种情况下,a标记将始终覆盖父元素的颜色属性。也就是说,您需要为不同的属性(如li的显示和标记的颜色)设置样式。您的布局非常有效。
a
标记具有默认样式,可为其提供颜色,通常带有下划线。因此,如果要覆盖这些样式,则必须将它们应用于a
本身,而不是包含它的li
。通常,您不希望为整个标记上色。
当有变化时,或者当项目扩展时,它会变得混乱
因此,与其
li {
/*Your styles here*/
/*this is not a great method*/
}
您可能需要添加一些对它的引用。
所以你的html就像
<ul class="someclass">
<li>
<a>This is a link</a>
</li>
</ul>
现在,在上面的示例样式中,混淆了是将样式应用于父元素(
)还是子元素(
)
子元素将从其父元素继承属性
因此,如果大多数子元素的大多数属性与其父元素相同,请将样式应用于父元素
如果子元素只需要某种样式,只需将该样式添加到子元素即可
示例(上面的HTML):
Hi想知道在web应用程序中设置页面菜单链接的样式是否更好,只设置a标记或li标记的样式,还是同时设置两者的样式
这取决于您希望站点导航(或其他列表使用)采用何种格式,因为样式属性在这两个元素之间的行为不同
一个明显的例子是一些属性的默认值,如display
。link的默认值旨在显示两个标记占用的空间
根本不添加a标记,只使用li标记来触发js函数,这不好吗
a标记已经具有一些属性,这些属性使它们更加用户友好。例如,如果您的用户已经访问了某个站点,则可以使用伪选择器:visted
设置a标记的样式。您可以使用
元素以一种简单的方式完成此操作。此外,标记悬停时已将光标
属性设置为指针
,即使您可以在列表元素中使用该属性,您也会使用更多css来执行标记默认设置的相同操作
我的最后一条建议是,使用列出元素来设置导航链接的内部位置的样式,并使用链接来关联js功能和设置导航规则的样式,如访问链接时、链接处于活动状态时等等
我希望这有帮助。干杯一般来说,当人们看到一个链接,点击它,却什么也没有得到时,他们会感到不舒服。如果你的链接不在任何地方,请确保它们看起来尽可能不同于传统链接。ul#main menu
是多余的,因为页面上只能有一个ID为main menu
的元素。@Kolink,它确实改变了选择器的/specification/,因此它不是完全冗余的,因为ID是可能的最高特异性。@Kolink不一定。1) 它提供了上下文。我们知道我们正在设计一个无序的列表。2) 样式表可以在多个页面上使用。可能是#主菜单
不是另一页上的ul
。#1通常是我这样做的原因。它使CSS文件更具可读性(至少对我来说),即使你没有在#2.Um中遇到这个问题。。。UL已经有了一个ID来提供上下文,它也不需要类。我提供了一种编写css的通用方法,假设OP希望专注于编写css,而不是专门针对提供的HTML中的ID。感谢您的回复,问题是容器的样式化(在本例中为)当事情开始变得混乱时,甚至不使用a标签都会让代码变得更容易;我制作了一个其他的web应用程序,总是习惯于为标签和容器(如果需要的话)设置样式,但在某些时候(当涉及大量js和样式更改时),事情总是变得很难处理。
ul.someclass li {
font-size:24px;
font-weight: bold;
}
ul.someclass li a {
color:blue;
}
li {background-color: red;}
a { background-color:blue;}