Copyright Derek O'Reilly, Dundalk Institute of Technology (DkIT), Dundalk, Co. Louth, Ireland.
Various tag attributes can be used to select elements to apply CSS to. These are especially useful with <input> elements in a <form>.
[readonly] { /* Selects all elements with a 'readonly' attribute */ }
Example of an attribute selector (Run Example)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Attribute Selector Example</title>
<style>
[readonly]
{
background-color:red;
}
</style>
</head>
<body>
<form>
<label for="name">Name:</label>
<input type = "text" id="name"><br>
<label for="age">Age:</label>
<input type = "number" id="age"><br>
<label for="college">College</label>
<input type = "text" id="college" value = "dkit" readonly>
</form>
</body>
</html>
[type = text] { /* Selects all elements with an input='text' attribute */ }
Example of an attribute 'equals' selector (Run Example)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Attribute Equals Selector Example</title> <style> [type = text] { background-color:red; } </style> </head> <body> <form> <label for="name">Name:</label> <input type = "text" id="name"><br> <label for="age">Age:</label> <input type = "number" id="age"><br> <label for="college">College:</label> <input type = "text" id="college" value = "dkit" readonly> </form> </body> </html>
[lang |= EN] { /* Selects all elements with a lang attribute value that equals "EN" */ /* or begins with “EN” and is immediately followed by “-”. */ /* This is useful for language subcode matches. For example: */ /* English for UK en-GB */
/* English for Ireland en-IE */
/ *English for the US en-US */
}
Example of an attribute 'language subcode' selector (Run Example)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>Attribute Language Subcode Selector Example</title> <style> [lang |= en] { background-color:red; font-family: "Times New Roman", serif; } [lang |= zh] { font-family: 黑体, 微软雅黑, 宋体, arial, sans-serif; } </style> </head> <body> <p lang="en">English without a subcode. Welcome</p> <p lang="en-us">US. Welcome</p> <p lang="en-uk">UK. Welcome</p> <p lang="en-ie">Ireland. Welcome</p> <p lang="zh-hans">Mandarin Chinese. 欢迎</p> </body> </html>
[title ~= dundalk] { /* Selects all elements with a title attribute containing the exact word "dundalk" */ /* NOTE: Non-exact matches, such as Dundalk, will not be selected */ }
Example of an attribute 'contains exact word' selector (Run Example)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Attribute Contains Word Whole Selector Example</title> <style> [title ~= DkIT] { background-color:red; } </style> </head> <body> <a href="https://www.dkit.ie/computing-mathematics" title = 'DkIT Computing' target="_blank">DkIT Computing</a> <a href="http://www.dcu.ie/computing/index.shtml" title = 'DCU Computing' target="_blank">DCU Computing</a> <a href="https://www.maynoothuniversity.ie/computer-science" title = 'Maynooth Computing' target="_blank">Maynooth Computing</a> <a href="https://www.dkit.ie/business-humanities/business-studies" title = 'DkIT Business' target="_blank">DkIT Business</a> <a href="http://www.dcu.ie/dcubs/index.shtml" title = 'DCU Business target="_blank">DCU Business</a> <a href="https://www.maynoothuniversity.ie/school-business" title = 'Maynooth Business target="_blank">Maynooth Business</a> </body> </html>
The ~= (attribute contains exact word) selector will only select exact matches of words in a sentence. It is also case sensitive.
Change the [title ~= DkIT] to lowercase [title ~= dkit]. Why does it not work?
Write code to try to use [href ~= 'dkit'] as the attribute exact match in the example ablove. Why does it not work?
a[href *= DkIT] { /* Selects every <a> element whose href attribute value contains the substring "Dundalk" */ /* It does not have to be an exact match, but it does have to match case. */ }
Example of an attribute 'contains' selector (Run Example)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Attribute Contains Word Selector Example</title> <style> [title *= Computing] { background-color:red; } </style> </head> <body> <a href="https://www.dkit.ie/computing-mathematics" title = 'DkIT Computing' target="_blank">DkIT Computing</a> <a href="http://www.dcu.ie/computing/index.shtml" title = 'DCU Computing' target="_blank">DCU Computing</a> <a href="https://www.maynoothuniversity.ie/computer-science" title = 'Maynooth Computing' target="_blank">Maynooth Computing</a> <a href="https://www.dkit.ie/business-humanities/business-studies" title = 'DkIT Business' target="_blank">DkIT Business</a> <a href="http://www.dcu.ie/dcubs/index.shtml" title = 'DCU Business' target="_blank">DCU Business</a> <a href="https://www.maynoothuniversity.ie/school-business" title = 'Maynooth Business' target="_blank">Maynooth Business</a> </body> </html>
a[href ^= "https"] { /* Selects every <a> element whose href attribute value begins with "https" */ /* Note that the value does not have to be a whole word */ }
Example of an attribute 'starts with' selector (Run Example)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Attribute Starts with String Selector Example</title> <style> [href ^= https] { background-color:green; } </style> </head> <body> <a href="https://www.dkit.ie/computing-mathematics" title = 'DkIT Computing' target="_blank">DkIT Computing</a> <a href="http://www.dcu.ie/computing/index.shtml" title = 'DCU Computing' target="_blank">DCU Computing</a> <a href="https://www.maynoothuniversity.ie/computer-science" title = 'Maynooth Computing' target="_blank">Maynooth Computing</a> <a href="https://www.dkit.ie/business-humanities/business-studies" title = 'DkIT Business' target="_blank">DkIT Business</a> <a href="http://www.dcu.ie/dcubs/index.shtml" title = 'DCU Business target="_blank">DCU Business</a> <a href="https://www.maynoothuniversity.ie/school-business" title = 'Maynooth Business target="_blank">Maynooth Business</a> </body> </html>
a[href $= ".ie"] { /* Selects every <a> element whose href attribute value ends with ".ie" */ }
Example of an attribute 'ends with' selector (Run Example)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Attribute Ends with Substring Selector Example</title> <style> [href $= ie] { background-color:green; } </style> </head> <body> <a href='www.dkit.ie' target='_blank'>DkIT</a> <a href='www.google.com' target='_blank'>Google</a> <a href='www.google.ie' target='_blank'>Google.ie</a> <a href='www.microsoft.com' target='_blank'>Microsoft</a> </body> </html>
Copyright Derek O' Reilly, Dundalk Institute of Technology (DkIT), Dundalk, Co. Louth, Ireland.