CSS ການເລືອກຜົນຂອງປະສົມປະສານ
- ການໄປຫນັງຫນຶ່ງ CSS ການເລືອກ id
- ການໄປຕໍ່ຫນ້າ CSS ການເລືອກຜູ້ລູກພາຍໃນ
CSS 2 ໄດ້ເປັນການເຂົ້າມາຂອງບັດຄັບປະກອບປະກອຍ.
ບັດຄັບປະກອບປະກອຍສາມາດເລືອກປະກອຍອີງຕາມບັດຄັບຂອງປະກອຍແລະຄວາມຕາຍຂອງບັດຄັບ.
ບັດຄັບປະກອບປະກອຍງາຍ
ຖ້າຕ້ອງເລືອກປະກອຍທີ່ມີບັດຄັບສະໜາມຫຼາຍຢ່າງແຕ່ບໍ່ມີຄວາມຕາຍຈາກຄວາມຕາຍຂອງຄວາມຕາຍຂອງຄວາມຕາຍສາມາດໃຊ້ບັດຄັບປະກອບປະກອຍທີ່ງາຍ.
ຄວາມຕົກລົງ 1
ຖ້າເຈົ້າຢາກເຮັດໃຫ້ປະກອຍທີ່ມີຫົວຂໍ້ (title) ສະແດງສີສີແດງສີທີ່ສີນໍ້າສີຂຽວສີຫົວໃຫ້ການຂຽນ:
*[title] {color:red;}
ຄວາມຕົກລົງ 2
ຄືກັນກັບກ່າວກ່ອນນັ້ນສາມາດນຳໃຊ້ວິສາຍກົນວິສາຍສະແດງສຳລັບສັບຕີບັດ (a element) ທີ່ມີບັດຄັບ href:
a[href] {color:red;}
例子 3
ສາມາດເລືອກຕາມປະກອບປະກອຍຫຼາຍຢ່າງເຊິ່ງພຽງແຕ່ຕໍ່ຕໍ່ກັນບັດຄັບປະກອບປະກອຍ.
例如,为了将同时有 href 和 title 属性的 HTML 超链接的文本设置为红色,可以这样写:
a[href][title] {color:red;}
例子 4
可以采用一些创造性的方法使用这个特性。
例如,可以对所有带有 alt 属性的图像应用样式,从而突出显示这些有效的图像:
img[alt] {border: 5px solid red;}
ຄຳເຕືອນ:上面这个特例更适合用来诊断而不是设计,即用来确定图像是否确实有效。
例子 5:为 XML 文档使用属性选择器
属性选择器在 XML 文档中相当有用,因为 XML 语言主张要针对元素和属性的用途指定元素名和属性名。
假设我们为描述太阳系行星设计了一个 XML 文档。如果我们想选择有 moons 属性的所有 planet 元素,使之显示为红色,以便能更关注有 moons 的行星,就可以这样写:
planet[moons] {color:red;}
这会让以下标记片段中的第二个和第三个元素的文本显示为红色,但第一个元素的文本不是红色:
<planet>Venus</planet> <planet moons="1">Earth</planet> <planet moons="2">Mars</planet>
ການເລືອກຕາມຄວາມທີ່ຈະກວມເອົາ
ນອກຈາກເລືອກສິ່ງທີ່ມີປະສົມປະສານຜົນງານຊົນປະໂຫຍດບາງຢ່າງ ພວກເຮົາຍັງສາມາດເລືອກບໍ່ພຽງແຕ່ສິ່ງທີ່ມີຄວາມທີ່ຈະກວມເອົາຄວາມທີ່ມີຄວາມທີ່ຈະກວມເອົາ
ຄວາມຕົກລົງ 1
ຕົວຢ່າງນັ້ນ ຖ້າພວກເຮົາຕ້ອງການເຮັດໃຫ້ການເຊື່ອມຕໍ່ອີກທີ່ທາງໄປຫາເອກະສານທີ່ບັງຄັບຕັ້ງໃນເວັບໄຊເບບຂອງຄອມພິວເຕີ້ສີແດງເປັນສີແດງສີຫຼາຍອີກຄັ້ງ ພວກເຮົາສາມາດຂຽນແບບນັ້ນໄດ້
a[href="http://www.codew3c.com/about_us.asp"] {color: red;}
ຄວາມຕົກລົງ 2
ຄືກັບຄຳເລືອກຕົວຂອງປະສົມປະສານຜົນງານຊົນປະໂຫຍດທີ່ທຳມະດາ ພວກເຮົາສາມາດເຊື່ອມຕໍ່ກັນປະສົມປະສານຜົນງານຊົນປະໂຫຍດຫຼາຍອັນພາຍໃນໜຶ່ງເອກະສານມາເພື່ອເລືອກໜຶ່ງເອກະສານ
a[href="http://www.codew3c.com/"][title="W3School"] {color: red;}
ນີ້ຈະເຮັດໃຫ້ຄວາມທີ່ຢູ່ໃນຂັ້ນຕອນທຳອິດຂອງການເຊື່ອມຕໍ່ອີກອອກຂອງຄວາມ HTML ປາກົດສີແດງເປັນສີສີແດງແຕກຕໍ່ສີຫຼາຍຫຼືສີຫຼາຍອີກຄັ້ງແຕ່ບໍ່ມີຜົນຕໍ່ຄວາມຫຼືການເຊື່ອມຕໍ່ອີກ
<a href="http://www.codew3c.com/" title="W3School">W3School</a> <a href="http://www.codew3c.com/css/" title="CSS">CSS</a> <a href="http://www.codew3c.com/html/" title="HTML">HTML</a>
例子 3
同样地,XML 语言也可以利用这种方法来设置样式。
下面我们再回到行星那个例子中。假设只希望选择 moons 属性值为 1 的那些 planet 元素:
planet[moons="1"] {color: red;}
ວິທີການທີ່ຫຼັງນີ້ຈະເຮັດໃຫ້ປະກອບທີ່ຢູ່ໃນອີກການຕິດຕັ້ງດັ່ງກ່າວນີ້ກາຍເປັນສີສີນຳ, ແຕ່ປະກອບທີ່ຢູ່ໃນອີກບໍ່ມີການປ່ຽນແປງ:
<planet>Venus</planet> <planet moons="1">Earth</planet> <planet moons="2">Mars</planet>
ຄູ່ວິຊາ ແລະ ຄູ່ວິຊາຂອງຄູ່ວິຊາຕ້ອງມີການພົບຄວາມຮອບກັນຄົງທີ່.
ບໍ່ຕ້ອງອາກາດນີ້ຈະຕ້ອງມີການພົບຄວາມຮອບກັນຄົງທີ່.
ຖ້າຄູ່ວິຊາມີຄູ່ວິຊາທີ່ບັນທຶກດ້ວຍອາກາດ, ການພົບຈະມີບັນຫາ.
ບັນທຶກການຕິດຕັ້ງນີ້:
<p class="important warning">ຄຳຂຽນນີ້ເປັນຄຳເຕືອນທີ່ສຳຄັນຫຼາຍ.</p>
ຖ້າທ່ານຂຽນໃຫ້ p[class="important"], ຄູ່ກົດລະບຽບນີ້ຈະບໍ່ສາມາດພົບກັບອີກການຕິດຕັ້ງ.
ຖ້າທ່ານຕ້ອງເລືອກປະກອບທີ່ມີຄູ່ວິຊາທີ່ຄິດສະຫນອງ, ທ່ານຕ້ອງເອົາຄູ່ເລືອກດັ່ງກ່າວນີ້:
p[class="important warning"] {color: red;}
ຄູ່ເລືອກຂອງຮູບມັນພາກກັນກັບຄູ່ເລືອກຂອງຮູບມັນຂອງຂະແໜງວິຊາ.
ຖ້າທ່ານຕ້ອງເລືອກປະກອບທີ່ມີຄູ່ວິຊາທີ່ຢູ່ໃນວິຊາຂອງຄູ່ວິຊາ, ທ່ານຕ້ອງໃຊ້ ~.
ຖ້າທ່ານຕ້ອງເລືອກປະກອບທີ່ມີ class ທີ່ປະກອບກັບ important, ທ່ານສາມາດໃຊ້ຄູ່ເລືອກດັ່ງກ່າວນີ້ເພື່ອເຮັດຕາມ:
p[class~="important"] {color: red;}
ຖ້າບໍ່ມີອາກາດ ~, ມັນຈະຊີ້ວ່າຕ້ອງມີການພົບຄວາມຮອບກັນຄົງທີ່.
ຄວາມແຕກຕ່າງລະຫວ່າງຄູ່ເລືອກຂອງຮູບມັນພາກກັນ ແລະ ການນຳໃຊ້ຊື່ວິຊາການນຳໃຊ້.
ຄູ່ເລືອກນີ້ມີຄວາມຮອບກັນກັບການກ່າວເຖິງຊື່ວິຊາການນຳໃຊ້ທີ່ພົບໃນຄູ່ເລືອກຊະນະ.
ພຽງແຕ່ p.important ແລະ p[class="important"] ແມ່ນບໍ່ມີຄວາມແຕກຕ່າງກັນເມື່ອນຳໃຊ້ໃນເອກະສານ HTML.
ວ່າເປັນຫຍັງຈະມີຄູ່ເລືອກ "~="? ຍ້ອນວ່າມັນສາມາດນຳໃຊ້ສຳລັບລັກສະນະໃດໜຶ່ງທັງໝົດບໍ່ແມ່ນພຽງແຕ່ class.
ອີງຕາມນີ້ບາງເອກະສານອາດມີຫຼາຍຮູບພາບແຕ່ພຽງແຕ່ບາງຮູບພາບດຽວ. ສຳລັບນັ້ນທ່ານສາມາດໃຊ້ຄູ່ເລືອກຂອງປະສົມປະສານຂອງ title ເພື່ອເລືອກພຽງແຕ່ຮູບພາບດຽວ:
img[title~="Figure"] {border: 1px solid gray;}
这个规则会选择 title 文本包含 "Figure" 的所有图像。没有 title 属性或者 title 属性中不包含 "Figure" 的图像都不会匹配。
ກົດລະບຽບຄວາມຄົ້ນຫາທີ່ສະແດງຂອງບາງສ່ວນນີ້
ກົດລະບຽບຄວາມຄົ້ນຫາທີ່ສະແດງຂອງບາງສ່ວນນີ້
ຫລາຍເຄື່ອງບັນທຶກຫຼັກກະຈາຍທົ່ວໄປທີ່ສະໜັບສະໜູນຄວາມຄົ້ນຫານີ້.
ມີການການລວບລວມກັນທີ່ລະອຽດຂອງຄວາມຄົ້ນຫານີ້ພາຍໃນຕາລາງດັ່ງຕໍ່ມາ:
ຮູບແບບ | 描述 |
---|---|
[abc^="def"] | ເລືອກປະກອບທີ່ຄວາມສະແດງ abc ທີ່ເລີ່ມຕົ້ນດ້ວຍ "def". |
[abc$="def"] | ເລືອກປະກອບທີ່ຄວາມສະແດງ abc ທີ່ຈົບດ້ວຍ "def". |
[abc*="def"] | ເລືອກປະກອບທີ່ຄວາມສະແດງ abc ທີ່ມີຄວາມຕ້ອງການ "def". |
ຫລາຍຄວາມຄົ້ນຫານີ້ມີຜົນນິວຫລັງຫລາຍ.
ຄອບຄອງວ່ານີ້ມີຫລາຍຜົນນິວຫລັງ. ຖ້າທ່ານຕ້ອງຈະຈັດການສະແດງທຳມະຊາດຄວາມມາກຕໍ່ CodeW3C.com ທັງໝົດບໍ່ຈະຕ້ອງແຕ່ກໍານົດ class ສຳລັບການແຕ່ງວິທີຈະມີຊື່ວິທີດັ່ງຕໍ່ມາ ແຕ່ພຽງແຕ່ກໍານົດກົດລະບຽບດັ່ງຕໍ່ມາ.
a[href*="codew3c.com"] {color: red;}
ຄຳເຕືອນ:ຄວາມຄົ້ນຫາທີ່ສະແດງຄວາມສະແດງພິເສດສາມາດໃຊ້ສຳລັບຄວາມສະແດງໃດໆ.
ຮູບແບບຄວາມຄົ້ນຫາທີ່ສະແດງຄວາມສະແດງພິເສດ
ສຸດທ້າຍຂ້ອຍຈະນຳສະເໜີຄວາມຄົ້ນຫາທີ່ສະແດງຄວາມສະແດງພິເສດ.
*[lang|="en"] {color: red;}
ກົດລະບຽບນີ້ຈະເລືອກຂອງປະກອບທີ່ຄວາມສະແດງ lang ແມ່ນ en ຫລື ເລີ່ມຕົ້ນດ້ວຍ en-. ເພາະນັ້ນປະກອບທີ່ສຸດສາມກົດລະບຽບຈະຖືກເລືອກ ແຕ່ຈະບໍ່ເລືອກປະກອບສຸດສອງ.
<p lang="en">Hello!</p> <p lang="en-us">Greetings!</p> <p lang="en-<p lang="au">G'day!</p> <p lang="fr">Bonjour!</p> <p lang="cy-en">Jrooana!</p>
ເວລານັ້ນ [att|="val"] ສາມາດໃຊ້ສຳລັບຄວາມສະແດງໃດໆແລະຄວາມຕ້ອງການທັງໝົດ.
ສະຫລຸບວ່າໃນເອກະສານ HTML ທີ່ມີພາບພາບຫລາຍອັນໃນນັ້ນແລ້ວພາບທີ່ບາງຄັ້ງຈະມີຊື່ເບື້ອງຫມາຍວ່າ figure-1.jpg ແລະ figure-2.jpgຫລັງຈາກນັ້ນກໍ່ຈະສາມາດໃຊ້ຄວາມຄົ້ນຫາດັ່ງຕໍ່ມາເພື່ອຈັດການກັບຮູບພາບທັງໝົດນີ້:
img[src|="figure"] {border: 1px solid gray;}
ຕະຫລອດແລ້ວນີ້ວ່າປະສົມປະກອບຂອງຄວາມສະແດງທີ່ໃຊ້ຫລາຍທີ່ສຸດແມ່ນການຈັດການກັບຄວາມຕ້ອງການພາສາ.
CSS 选择器参考手册
选择器 | 描述 |
---|---|
[attribute] | 用于选取带有指定属性的元素。 |
[attribute=value] | 用于选取带有指定属性和值的元素。 |
[attribute~=value] | 用于选取属性值中包含指定词汇的元素。 |
[attribute|=value] | 用于选取带有以指定值开头的属性值的元素,该值必须是整个单词。 |
[attribute^=value] | 匹配属性值以指定值开头的每个元素。 |
[attribute$=value] | 匹配属性值以指定值结尾的每个元素。 |
[attribute*=value] | ການຈັດການບັນດາສິ່ງທີ່ມີຄູ່ມືທີ່ກວມມີຄູ່ມືທີ່ກໍານົດ |
- ການໄປຫນັງຫນຶ່ງ CSS ການເລືອກ id
- ການໄປຕໍ່ຫນ້າ CSS ການເລືອກຜູ້ລູກພາຍໃນ