Rumah hujung hadapan web html tutorial CSS3选择器的研究,案例

CSS3选择器的研究,案例

Sep 20, 2016 am 03:30 AM

  在上一篇CSS3选择器的研究中列出了几乎所有的CSS3选择器,和伪类选择器,当是并没有做案例的研究,本想在那篇文章里面写,但想想如果把案例都写在那篇文章里面,对于查找来说就不是很方便,所有另开一篇来讲实例。

 

属性选择器

[title]:选择带有title属性的元素

  


[title='hello']:选择属性是title并且值是hello的元素

  


[title~='hello']:选择属性是title并且部分值是hello的元素,hello需要是单独的值,以空格分开

  
[title*='hello']:选择属性是title并且其中包含了hello的元素

  
[title|='hello']:选择属性是title并且值是以hello开头并且允许hello后面以-的任意字符

  
[title^='hello']:属性以hello开头的任意字符

  
[title$='hello']:属性以hello结束的任意字符

  
[title^='hello'][title$='.py']:选择属性以hello开头并且以.py结束的元素

  

连结符


h1~p:选择h1元素后面的所有同级p元素

  


p~p:选择p元素后面的所有同级p元素,除了第一个p元素

  


h1+p:选择h1元素后面的第一个同级p元素

  

如果span在第一个p标签前面是不行的,因为+是选择的第一个同级元素。如果你不想限制类型,只要选择第一个,那么可以这样。

  

 

伪类选择器


  nth系列,数字

 

nth-child():按照位置来算数

  


nth-of-type():按照类型来算数

  


nth-last-child():从末尾按照位置开始算

  
nth-last-of-type():从末尾按照类型来算数

  
通过(-n+number)来指定选择前几个元素

-n会向负数方向增加先从0开始,-1,-2,-3...

  

  

使用:nth-child(odd)或:nth-child(even)实现隔行变色。

  odd

  

even

    

单个选择


first-child:选择第一个元素,按位置

  
first-of-type:选择第一个元素,按类型

   

last-child:选择最后一个元素,按位置

  
last-of-type:选择最后一个元素,按类型

   

only-child:没有其他兄弟元素的时候会被选中

  
only-of-type:可以有兄弟元素但要类型不同

  
使用only-of-type可以让你从其他类型元素中挑选出一个元素来,反之only-child需要元素单独存在才行。这个肯定有大作用,待发现。

 

 

伪类

:target

  1.   通过:target来模拟点击事件
  2.   
  3.   利用target实现tab栏切换
  4.   使用target伪类,可以轻松地突出显示用户要阅读的评论

利用target制作的tab切换,当然它还是有很多缺陷的,不过大家可以通过它扩展扩展。

:empty
  选择没有子元素并且没有文本节点的元素

  利用:empty给默认提示。

  

  

  不过这个得注意一下,ul不能换行必须这样写

    如果有换行就匹配不了了。其实购物车也可以利用这个来做默认提示。

    :root
      选择根元素,在HTML中root永远是html元素

      

      和用html是一样的,其他用处暂时没想到。

    :not
      参数支持传递一个元素甚至其他伪类选择器,但不支持传递连结符以及伪元素
      选择除了指定参数以外的任意元素

     

    案例1:除了span

      

    案例2:除了第一个元素

    案例3:除了第一个和最后一个

    还有其他妙用自行开发。

     

    :optional

      选择不是必须填写的input元素

      也就是获取到input没有加required属性的元素

      

    :required

      选择有加required属性的元素

      

    :read-write

      获取可读写的input元素

      

    :read-only

      获取只可读的input元素

      

    :out-of-range

      当input元素的值是超出范围时,max和min限定的范围,注意类型要是number

      

    :valid

      选择所有合法的输入,适用于表单元素有限制,如最小输入元素和属性的最大值,电子邮件具有合法的电子邮件,或者数值等数字字段。

       

    案例1:我们可以利用它给输入错误的给个提示。

    取个反就好,默认给它错误的颜色。

     

    案例2:结合:not来使用


    元素状态伪类

    :checked
      当checkbox被选中时

      

    :disabled
      当元素被禁用时

      

    :enabled
      当元素没有被禁用时

      

     

    伪元素

    ::first-line
      选择第一行文字

      

    ::first-letter
      选择第一个字

      

    ::after
      在元素末尾添加一个伪元素

      

    ::before
      在元素开头添加一个伪元素

      

     

    我们在制作一些小图标时就完全可以使用::after和::before,就不必再使用其他标签了。

     

    ::selection
      应用到选中的文本上

      

     

    合理利用这些选择器,可以帮你解决很多问题,目前还在研究中,本篇内容长期更新。

    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Tetapan grafik terbaik
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Apakah tujuan & lt; kemajuan & gt; unsur? Apakah tujuan & lt; kemajuan & gt; unsur? Mar 21, 2025 pm 12:34 PM

    Artikel ini membincangkan html & lt; kemajuan & gt; elemen, tujuan, gaya, dan perbezaan dari & lt; meter & gt; elemen. Tumpuan utama adalah menggunakan & lt; kemajuan & gt; untuk menyelesaikan tugas dan & lt; meter & gt; untuk stati

    Apakah tujuan & lt; DATALIST & GT; unsur? Apakah tujuan & lt; DATALIST & GT; unsur? Mar 21, 2025 pm 12:33 PM

    Artikel ini membincangkan html & lt; datalist & gt; elemen, yang meningkatkan bentuk dengan menyediakan cadangan autokomplete, meningkatkan pengalaman pengguna dan mengurangkan kesilapan. Kira -kira: 159

    Apakah tujuan & lt; meter & gt; unsur? Apakah tujuan & lt; meter & gt; unsur? Mar 21, 2025 pm 12:35 PM

    Artikel ini membincangkan html & lt; meter & gt; elemen, digunakan untuk memaparkan nilai skalar atau pecahan dalam julat, dan aplikasi umum dalam pembangunan web. Ia membezakan & lt; meter & gt; dari & lt; kemajuan & gt; dan Ex

    Apakah tag meta viewport? Mengapa penting untuk reka bentuk responsif? Apakah tag meta viewport? Mengapa penting untuk reka bentuk responsif? Mar 20, 2025 pm 05:56 PM

    Artikel ini membincangkan tag Meta Viewport, penting untuk reka bentuk web responsif pada peranti mudah alih. Ia menerangkan bagaimana penggunaan yang betul memastikan skala kandungan yang optimum dan interaksi pengguna, sementara penyalahgunaan boleh membawa kepada isu reka bentuk dan kebolehaksesan.

    Bagaimana saya menggunakan html5 & lt; masa & gt; elemen untuk mewakili tarikh dan masa secara semantik? Bagaimana saya menggunakan html5 & lt; masa & gt; elemen untuk mewakili tarikh dan masa secara semantik? Mar 12, 2025 pm 04:05 PM

    Artikel ini menerangkan html5 & lt; time & gt; elemen untuk perwakilan tarikh/masa semantik. Ia menekankan pentingnya atribut DateTime untuk pembacaan mesin (format ISO 8601) bersama teks yang boleh dibaca manusia, meningkatkan aksesibilit

    Apakah amalan terbaik untuk keserasian penyemak imbas dalam HTML5? Apakah amalan terbaik untuk keserasian penyemak imbas dalam HTML5? Mar 17, 2025 pm 12:20 PM

    Artikel membincangkan amalan terbaik untuk memastikan keserasian silang pelayar HTML5, memberi tumpuan kepada pengesanan ciri, peningkatan progresif, dan kaedah ujian.

    Bagaimana saya menggunakan atribut pengesahan borang html5 untuk mengesahkan input pengguna? Bagaimana saya menggunakan atribut pengesahan borang html5 untuk mengesahkan input pengguna? Mar 17, 2025 pm 12:27 PM

    Artikel ini membincangkan menggunakan atribut pengesahan bentuk HTML5 seperti had, corak, min, max, dan panjang untuk mengesahkan input pengguna secara langsung dalam penyemak imbas.

    Apakah tujuan & lt; iframe & gt; Tag? Apakah pertimbangan keselamatan semasa menggunakannya? Apakah tujuan & lt; iframe & gt; Tag? Apakah pertimbangan keselamatan semasa menggunakannya? Mar 20, 2025 pm 06:05 PM

    Artikel ini membincangkan & lt; iframe & gt; Tujuan TAG dalam membenamkan kandungan luaran ke dalam halaman web, kegunaan umum, risiko keselamatan, dan alternatif seperti tag objek dan API.

    See all articles