没头脑and不高兴 发表于 2019-4-11 14:19

【分享】div > li > a{}和div li a{}的区别

初学者,今天第一次看到css文件中这样的写法:nav .primary_nav > li > a{font-size:16px;}很奇怪li和a前边的“>”尖括号是什么意思,经过尝试总结如下<div class="navigation_container">        <!--Navigation Starts-->
      <nav>
            <ul class="primary_nav">
                <li><a href="leisure_listing.html">Women</a>
                  <!--SUbmenu Starts-->
                  <ul class="sub_menu">
                        <li> <a href="#">Dresses</a>
                            <ul>
                              <li><a href="#">Skirts</a></li>
                              <li><a href="#">Shorts</a></li>
                            </ul>
                        </li>
                        <li> <a href="#">Accessories</a>
                            <ul>
                              <li><a href="#">Sunglasses</a></li>
                              <li><a href="#">Scarves</a></li>
                            </ul>
                        </li>
                  </ul>
                  <!--SUbmenu Ends-->
                </li>
                <li><a href="leisure_listing.html">Men</a>
                  <!--SUbmenu Starts-->
                  <ul class="sub_menu">
                        <li> <a href="#">Men Summer Collection</a>
                            <ul>
                              <li><a href="#">Premium Pants</a></li>
                              <li><a href="#">Khakis</a></li>
                            </ul>
                        </li>
                        <li> <a href="#">Accessories</a>
                            <ul>
                              <li><a href="#">Sunglasses</a></li>
                              <li><a href="#">Scarves</a></li>
                            </ul>
                        </li>
                  </ul>
                  <!--SUbmenu Ends-->
                </li>
            </ul>
      </nav>

css代码如下:
nav .primary_nav > li > a{font-size:16px;}



那么:

nav .primary_nav > li > a{font-size:16px;} 和 nav .primary_nav   li   a{font-size:16px;}的写法有什么区别呢?



1. nav .primary_nav   li   a{font-size:16px;}的写法是:将.primary_nav 下边的所有li下的所有a获取到,并改变字体大小为16px;

    那么,根据上边的html代码,这里边所有的字都变成16px的了。

2.nav .primary_nav > li > a{font-size:16px;}的写法是:将.primary_nav 下边的子级目录下的a链接字体改成16px;

   那么,效果是,“Women”和“Men”的字体变成了16px,其它字体没有变;

羊毛丶 发表于 2019-4-11 22:05

本帖最后由 羊毛丶 于 2019-4-11 22:06 编辑



选择器选择器
例子例子例子描述例子描述例子描述
CSS

.class
.intro
选择 class="intro" 的所有元素。
1

#id
#firstname
选择 id="firstname" 的所有元素。
1

*
*
选择所有元素。
2

element
p
标签选择器,选择所有 <p> 元素。
1

element,element
M,N
选择所有 M 元素和所有 N 元素。
1

element element
M N
选择 M 元素内部的所有 M 元素。
1

element>element
M>N
选择父元素为 M 元素的所有 N 元素。
2

element+element
M+N
选择紧接在 M 元素之后的所有 N 元素。
2



选择带有 target 属性所有元素。
2



选择 target="_blank" 的所有元素。
2



选择 title 属性包含单词 "flower" 的所有元素。
2



选择 lang 属性值以 "en" 开头的所有元素。
2

:link
a:link
选择所有未被访问的链接。
1

:visited
a:visited
选择所有已被访问的链接。
1

:active
a:active
选择活动链接。
1

:hover
a:hover
选择鼠标指针位于其上的链接。
1

:focus
input:focus
选择获得焦点的 input 元素。
2

:first-letter
p:first-letter
选择每个 <p> 元素的首字母。
1

:first-line
p:first-line
选择每个 <p> 元素的首行。
1

:first-child
p:first-child
选择属于父元素的第一个子元素的每个 <p> 元素。
2

:before
p:before
在每个 <p> 元素的内容之前插入内容。
2

:after
p:after
在每个 <p> 元素的内容之后插入内容。
2

:lang(language)
p:lang(it)
选择带有以 "it" 开头的 lang 属性值的每个 <p> 元素。
2

element1~element2
p~ul
兄弟选择器,选择前面有 <p> 元素的每个 <ul> 元素。
3


a
选择其 src 属性值以 "https" 开头的每个 <a> 元素。
3


a
选择其 src 属性以 ".pdf" 结尾的所有 <a> 元素。
3


a
选择其 src 属性中包含 "abc" 子串的每个 <a> 元素。
3

:first-of-type
p:first-of-type
选择属于其父元素的首个 <p> 元素的每个 <p> 元素。
3

:last-of-type
p:last-of-type
选择属于其父元素的最后 <p> 元素的每个 <p> 元素。
3

:only-of-type
p:only-of-type
选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。
3

:only-child
p:only-child
选择属于其父元素的唯一子元素的每个 <p> 元素。
3

:nth-child(n)
p:nth-child(2)
选择属于其父元素的第二个子元素的每个 <p> 元素。
3

:nth-last-child(n)
p:nth-last-child(2)
同上,从最后一个子元素开始计数。
3

:nth-of-type(n)
p:nth-of-type(2)
选择属于其父元素第二个 <p> 元素的每个 <p> 元素。
3

:nth-last-of-type(n)
p:nth-last-of-type(2)
同上,但是从最后一个子元素开始计数。
3

:last-child
p:last-child
选择属于其父元素最后一个子元素每个 <p> 元素。
3

:root
:root
选择文档的根元素。
3

:empty
p:empty
选择没有子元素的每个 <p> 元素(包括文本节点)。
3
:target
#news:target
选择当前活动的 #news 元素。
3
:enabled
input:enabled
选择每个启用的 <input> 元素。
3
:disabled
input:disabled
选择每个禁用的 <input> 元素
3

:checked
input:checked
选择每个被选中的 <input> 元素。
3

:not(selector)
:not(p)
选择非 <p> 元素的每个元素。
3

::selection
::selection
选择被用户选取的元素部分。
3

lovnie 发表于 2019-4-11 14:33

> 代表必须是子类空格是后代

丨丨丨丨 发表于 2019-4-11 14:36

很好,学习了{:301_1001:}

saidom1949 发表于 2019-4-11 16:19

一个是子类就是直接后面跟的;一个是后代 就是后面所有的里面的任何都可以

小小华妃 发表于 2019-4-12 10:40

好的很啊

沐雨红尘 发表于 2019-4-14 10:26

没头脑and不高兴 发表于 2019-4-15 08:45

沐雨红尘 发表于 2019-4-14 10:26
继续努力,前端的东西有多又烦,加油!

确实,看似简单但是用的东西有点多,头疼!

李白学H5 发表于 2019-4-17 16:47

.box>li{color:red;}------(大于号会选择到box下的直接子级li)      .box li{color:red;}-------(而空格会选择到box下的所有li)

<div class="box">
       <li>大于号时字体会变红后,空格也会</li>
       <li>大于号时字体会变红后,空格也会</li>
   
<div><li>而这个li大于号时字体不会变红,因为大于号选择的是直接的子级,这个不是直接的子级,而空格会让它变红(空格选择所有li)</li></div>

</div>



回复板手敲{:1_918:},应该可以理解了,前几天我也有这种困惑那,我刚明了
页: [1]
查看完整版本: 【分享】div > li > a{}和div li a{}的区别