Vibweni vya Kivinjiliana wa Matokeo ya Kuelewa
CSS 2 ilianzisha kina kinachotumia sifuri.
Kina kinachotumia sifuri kinaweza kufikia kina kwa sifuri yao na thamani ya sifuri.
Kina kinachotumia sifuri kwa uangalifu
Ikiwa unafikia kufikia kwa kina kinachotumia sifuri ya kwanza, bila huzungukia thamani ya sifuri, inaweza kutumia kina kinachotumia sifuri kwa uangalifu.
例子 1
Ikiwa unafikia kufikia kwa kila kitu kinachotumia kichwa (title) kufikia kwa kina kipya, inaweza kuandika:
*[title] {color:red;}
Mfano 2
Kama hiki, inaweza kutumia stili kwa kila kina (a element) ambao ina sifuri ya href:
a[href] {color:red;}
例子 3
Inasikia kwa kufikia kwa mbali mbali ya sifuri, bila huzungukia sifuri za kufikia.
例如,为了将同时有 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;}
这会让以下标记片段中的第二个和第三个元素的文本显示为红色,但第一个元素的文本不是红色:
Venus moons="1">Earth moons="2">Mars
根据具体属性值选择
除了选择拥有某些属性的元素,还可以进一步缩小选择范围,只选择有特定属性值的元素。
例子 1
例如,假设希望将指向 Web 服务器上某个指定文档的超链接变成红色,可以这样写:
a[href="http://www.codew3c.com/about_us.asp"] {color: red;}
Mfano 2
Kama kinaelezea mbinu ya kichaguo cha kina, inaweza kuunganisha vigezo vingine vya kina-vali na kina-vuruhi kwa kichaguo cha mtaani.
a[href="http://www.codew3c.com/"][title="W3School"] {color: red;}
Hiiweza kuwahusisha chaguo kichache cha kwanza cha kichwa kikuu cha kipende kwa chaguo cha mtaani, lakini chaguo cha pili au cha tatu haikupatikana
<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;}
上面的代码会把以下标记中的第二个元素变成红色,但第一个和第三个元素不受影响:
Venus moons="1">Earth Mars
属性与属性值必须完全匹配
请注意,这种格式要求必须与属性值完全匹配。
如果属性值包含用空格分隔的值列表,匹配就可能出问题。
请考虑一下的标记片段:
class="important warning">This paragraph is a very important warning.
如果写成 p[class="important"],那么这个规则不能匹配示例标记。
要根据具体属性值来选择该元素,必须这样写:
p[class="important warning"] {color: red;}
根据部分属性值选择
如果需要根据属性值中的词列表的某个词进行选择,则需要使用波浪号(~)。
假设您想选择 class 属性中包含 important 的元素,可以用下面这个选择器做到这一点:
p[class~="important"] {color: red;}
如果忽略了波浪号,则说明需要完成完全值匹配。
Muungano wa chaguo cha sababu ya kimaadili na ujumbe wa kikla.
Chaguo hicho ni kawaida kama tunavyotaradhisia katika chaguo cha kikla.
Ina maana kwamba p.important na p[class="important"] inayotumika katika hati ya HTML ni kawaida.
Kwa nini tunahitaji '~= 'kwenye chaguo cha uchaguzi wa sababu? Kwa sababu inaweza kutumika kwa sababu yoyote, bila kuwa tu class.
Mfano, ina kwadha ya picha kubwa, inayotumika kama picha tu.
img[title~="Figure"] {border: 1px solid gray;}
这个规则会选择 title 文本包含 "Figure" 的所有图像。没有 title 属性或者 title 属性中不包含 "Figure" 的图像都不会匹配。
子串匹配属性选择器
下面为您介绍一个更高级的选择器模块,它是 CSS2 完成之后发布的,其中包含了更多的部分值属性选择器。按照规范的说法,应该称之为“子串匹配属性选择器”。
很多现代浏览器都支持这些选择器,包括 IE7。
下表是对这些选择器的简单总结:
类型 | Muhtasari |
---|---|
[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>
Kwa kawaida, [att|="val"] inaweza kutumiwa kwa kila uwezo na thamani yake.
Tafuta sababu ya kumtaarifu kwa sababu HTML vitabu vya taa kwenye mabara ya picha, kila picha ina jina la faili kwa kifupi kama hiki: figure-1.jpg na figure-2.jpgVivaa, inaendelea kutumia kigeukia hiki kwa kumtumia visa zote za picha hizi:
img[src|="figure"] {border: 1px solid gray;}
Tasikili, kipindi kina cha kijumu cha uwezo wa chaguo cha jina la lugha kimekuwa kawaida sana.
Kitabu cha Matokeo wa Vibweni vya Kivinjiliana wa CSS
Vibweni vya Kivinjiliana | Muhtasari |
---|---|
[attribute] | Tumia kumatuka kila kitu kinachotaka kumiliki thamani inayotaka kwenye matokeo ya kuelewa inayotaka kwenye thamani inayotaka. |
[attribute=value] | Tumia kumatuka kila kitu kinachotaka kumiliki thamani inayotaka kwenye matokeo ya kuelewa inayotaka kwenye thamani inayotaka. |
[attribute~=value] | Tumia kumatuka kila kitu kinachotaka kumiliki thamani inayotaka kwenye matokeo ya kuelewa inayotaka kwenye thamani inayotaka. |
[attribute|=value] | Tumia kumatuka kila kitu kinachotaka kumiliki thamani inayotaka kwenye matokeo ya kuelewa inayotaka kwenye kina cha thamani, thamani hii inahitaji kuwa kina kwa kina. |
[attribute^=value] | Tumia kumatuka kila kitu kinachotaka kumiliki thamani inayotaka kwenye matokeo ya kuelewa inayotaka kwenye kina cha thamani. |
[attribute$=value] | Tumia kumatuka kila kitu kinachotaka kumiliki thamani inayotaka kwenye matokeo ya kuelewa inayotaka kwenye uendelevu wa thamani. |
[attribute*=value] | Tumia kumatuka kila kitu kinachotaka kumiliki thamani inayotaka kwenye matokeo ya kuelewa. |