整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          CSS元素選擇器是怎樣運(yùn)作的?

          CSS元素選擇器是怎樣運(yùn)作的?

          源:微信公眾號(hào):前端先鋒

          作者:瘋狂的技術(shù)宅

          出處:https://mp.weixin.qq.com/s?__biz=MzI3NzIzMDY0NA==&mid=2247494653&idx=1&sn=7fde154e105ae345326a1caf6d490eee

          SS怎么選擇除了第一個(gè)子元素外的其余同級(jí)子元素

          使用 CSS 的:not()偽類選擇器和:nth-child()偽類選擇器

          要通過CSS的代碼選擇某一個(gè)元素的除了第一個(gè)子元素外的其余的跟第一個(gè)子元素同級(jí)的子元素,可以結(jié)合使用CSS的:not()偽類選擇器和:nth-child()偽類選擇器進(jìn)行選擇。大致的語法如下:

          .parent > .child:not(:nth-child(1)) {樣式設(shè)置}

          CSS選擇除了第一個(gè)子元素外同級(jí)子元素實(shí)例代碼,及在線編輯器

          下面的實(shí)例中除了使用上述的兩種偽類選擇器之外,還結(jié)合了class屬性:

          <div class='p'>
            <div class='c'>p的第一個(gè)子元素</div>
            <div class='c'>p的第二個(gè)子元素</div>
            <div class='c'>p的第三個(gè)子元素</div>
          </div>
          
          
          <style>
            .p > .c:not(:nth-child(1)){color:green;}
          </style>

          原文及在線編輯器:CSS怎么選擇除了第一個(gè)子元素外的其余同級(jí)子元素 | CSS教程

          作元素樣式有兩種方式,一種是操作style屬性,一種是操作className屬性,下面我們分別進(jìn)行講解。

          1. 操作style屬性

          除了前面講解的元素內(nèi)容和屬性外,對(duì)于元素對(duì)象的樣式,可以直接通過“元素對(duì)象.style.樣式屬性名”的方式操作。樣式屬性名對(duì)應(yīng)CSS樣式名,但需要去掉CSS樣式名里的半字線“-”,并將半字線后面的英文的首字母大寫。例如,設(shè)置字體大小的樣式名font-size,對(duì)應(yīng)的樣式屬性名為fontSize。

          為了便于讀者的學(xué)習(xí)使用,下面我們通過表1列出常用style屬性中CSS樣式名稱的書寫及說明。

          表1 常見的style屬性操作的樣式名

          名稱

          說明

          background

          設(shè)置或返回元素的背景屬性

          backgroundColor

          設(shè)置或返回元素的背景色

          display

          設(shè)置或返回元素的顯示類型

          fontSize

          設(shè)置或返回元素的字體大小

          height

          設(shè)置或返回元素的高度

          left

          設(shè)置或返回定位元素的左部位置

          listStyleType

          設(shè)置或返回列表項(xiàng)標(biāo)記的類型

          overflow

          設(shè)置或返回如何處理呈現(xiàn)在元素框外面的內(nèi)容

          textAlign

          設(shè)置或返回文本的水平對(duì)齊方式

          textDecoration

          設(shè)置或返回文本的修飾

          textIndent

          設(shè)置或返回文本第一行的縮進(jìn)

          transform

          向元素應(yīng)用2D或3D轉(zhuǎn)換

          接下來,通過代碼演示如何對(duì)元素的樣式進(jìn)行添加,具體示例如下。

             <div id="box"></div>
          
             <script>
          
              var ele=document.querySelector('#box'); // 獲取元素對(duì)象
          
              ele.style.width='100px';
          
              ele.style.height='100px';
          
              ele.style.transform='rotate(7deg)';
          
             </script>

          上述第4~6行代碼用于為獲取的ele元素對(duì)象添加樣式,其效果相當(dāng)于在CSS中添加以下樣式。

          #box {width: 100px; height: 100px; transform: rotate(7deg);}

          2. 操作className屬性

          在開發(fā)中,如果樣式修改較多,可以采取操作類名的方式更改元素樣式,語法為“元素對(duì)象.className”。訪問className屬性的值表示獲取元素的類名,為className屬性賦值表示更改元素類名。如果元素有多個(gè)類名,在className中以空格分隔。

          接下來,通過代碼演示如何使用className更改元素的樣式。

          (1)編寫html結(jié)構(gòu)代碼,具體示例如下。

             <style>
          
              div {
          
               width: 100px;
          
               height: 100px;
          
               background-color: pink;
          
              } 
          
             </style>
          
             <body>
          
              <div class="first">文本</div>
          
            </body>

          上述代碼中,第9行給div元素添加first類,并在style中設(shè)置了first的樣式,瀏覽器預(yù)覽效果如圖1所示。

          圖1 初始效果

          (2)單擊div元素更改元素的樣式,示例代碼如下。

             <script>
          
              var test=document.querySelector('div');
          
              test.onclick=function () {
          
               this.className='change';
          
              };
          
             </script>

          上述代碼中,第2行獲取div元素存儲(chǔ)在test對(duì)象中。第3~5行為text對(duì)象添加onclick單擊事件,第4行執(zhí)行事件處理程序使用this.className給test對(duì)象設(shè)置change類名,其中this指的是test對(duì)象。

          (3)在style中添加change類,樣式代碼如下。

             .change {
          
              background-color: purple;
          
              color: #fff;
          
              font-size: 25px;
          
              margin-top: 100px;
          
             }

          (4)單擊div盒子,瀏覽器預(yù)覽效果如圖2所示。

          圖2 單擊后效果

          執(zhí)行上述代碼之后,會(huì)直接把原先的類名first修改為change,如果想要保留原先的類名,可以采取多類名選擇器的方式,修改第(2)步的第4行代碼,示例代碼如下。

          this.className='first change';

          修改之后,在控制臺(tái)查看到div元素的類已經(jīng)修改成了<div class="first change">文本</div>,保留了之前的類名。


          主站蜘蛛池模板: 成人区精品人妻一区二区不卡| 亚洲色精品三区二区一区| 久久福利一区二区| 精品久久国产一区二区三区香蕉| 一区二区三区在线观看| 国产凹凸在线一区二区| 亚洲综合无码精品一区二区三区| 无码人妻品一区二区三区精99 | 无码人妻AV免费一区二区三区| 久久久久人妻一区精品性色av| 天堂va在线高清一区| 国产中文字幕一区| 国产爆乳无码一区二区麻豆 | 日韩福利视频一区| 国精无码欧精品亚洲一区| 精品少妇ay一区二区三区| 日本高清一区二区三区| 国产亚洲一区二区三区在线不卡 | 在线|一区二区三区四区| 福利一区福利二区| 亚洲电影唐人社一区二区| 视频一区在线免费观看| 亚洲福利视频一区二区三区| 国产在线第一区二区三区| 骚片AV蜜桃精品一区| 鲁大师成人一区二区三区| 99无码人妻一区二区三区免费| 精品视频午夜一区二区| 国产日本一区二区三区| 国产亚洲情侣一区二区无| 精品国产一区二区三区av片| 一区二区三区人妻无码| 精品国产日韩亚洲一区91| 亚洲视频一区调教| 国产一区二区不卡在线播放| 韩国一区二区三区| 亚洲va乱码一区二区三区| 中文无码精品一区二区三区| 精品国产一区二区三区久| 国产成人亚洲综合一区| 亚洲国产一区在线|