Javascript 链接式礼仪

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和动态内容)

Hi想知道在web应用程序中设置页面菜单链接的样式是否更好,只设置a标记或li标记的样式,还是同时设置两者的样式

例如:

<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;}