Đó là một trong số substring-matching attribute selectors có sẵn trong CSS3. Nó khớp với các liên kết với các thuộc tính href
có giá trị bắt đầu bằng chuỗi đã cho.
Để minh họa, chúng tôi sẽ lấy một ví dụ CSS của bạn, và thêm một số giá trị mặc định:
a {
background: none; padding: 0 1em;
}
a[href^="http:"] {
background: url(img/keys.gif) no-repeat right top;
}
a[href^="http://mysite.com"], a[href^="http://www.mysite.com"] {
background-image: none; padding-right:0;
}
Và kiểu HTML sau với nó. Kiểu đầu ra được tóm tắt trong các nhận xét:
<ul>
<!-- [1] No background, 1em left and right padding -->
<li><a href="/index.php">My site's page</a></li>
<!-- [2] Background, 1em left and right padding -->
<li><a href="http://example.com">External link</a></li>
<!-- [3] No background, no right padding -->
<li><a href="http://mysite.com">My site's base URL without www</a></li>
<!-- [4] No background, no right padding -->
<li><a href="http://www.mysite.com">My site's base URL with www</a></li>
<!-- [5] No background, no right padding -->
<li><a href="http://mysite.com/page.php">A page in my site with base URL</a></li>
</ul>
Điều gì đang xảy ra?
chọn bởi a
chỉ
href="/index.php"
thuộc tính của phần tử này không bắt đầu bằng http:
hoặc các giá trị khác.
Không có nền, nhưng có đệm trái và phải.
chọn bởi a[href^="http:"]
chỉ
href="http://example.com"
thuộc tính của phần tử này bắt đầu với http:
nhưng không bắt đầu bằng http://mysite.com
.
Có cả đệm trái và phải và hình nền.
chọn bởi a[href^="http:"]
và a[href^="http://mysite.com"]
thuộc tính của phần tử này href="http://mysite.com"
bắt đầu với http:
và bắt đầu hơn nữa với http://mysite.com
.
Vì bộ chọn thứ hai sẽ ghi đè bộ chọn đầu tiên, hình nền và đệm phải được xóa.
chọn bởi a[href^="http:"]
và a[href^="http://www.mysite.com"]
href="http://www.mysite.com"
thuộc tính của phần tử này bắt đầu với http:
và bắt đầu hơn nữa với http://www.mysite.com
(chú ý www).
Vì bộ chọn thứ hai sẽ ghi đè bộ chọn đầu tiên, hình nền và đệm phải được xóa.
chọn bởi a[href^="http:"]
và a[href^="http://mysite.com"]
thuộc tính của phần tử này bắt đầu với http:
và bắt đầu hơn nữa với http://mysite.com
.
Lưu ý rằng, so với liên kết thứ ba, thuộc tính trong cột này không chỉ chứa URL cơ sở; tuy nhiên, ^=
cho biết giá trị của thuộc tính chỉ cần bắt đầu bằng URL cơ sở của trang web của bạn, thay vì =
có nghĩa là "chọn các liên kết chỉ trỏ đến http://mysite.com
". Do đó, liên kết này được khớp với bộ chọn thứ hai.
Vì bộ chọn thứ hai sẽ ghi đè bộ chọn đầu tiên, hình nền và đệm phải được xóa.
Phải biết thông tin ở đây: http://edgar.tumblr.com/post/1483797785/the-30-css-selectors-you-must-know-memorize – techfoobar
Xem thêm https://stackoverflow.com/q/7366323 ('chuỗi trùng lặp'). – SamGoody