Home > Article > Web Front-end > Things about css selectors
Before introducing the css selector, let us first get to know css
css - cascading style sheets, as a web page layout artifact, is constantly praised by web front-end scholars. . .
Let’s discuss this next. .
1. Characteristics of CSS
Disadvantages of HTML typesetting:
Troublesome to set up, troublesome to modify, and severely lacking in functions.
Advantages of CSS style typesetting:
Typesetting attributes are fully functional, typesetting files can exist independently and can be shared Typesetting file
CSS style typesetting classification:
Inline typesetting style, inline typesetting style, external link typesetting
2. CSS typesetting style
Inline typesetting style:
Format: 5ccb478c1ac3a0438586b5b145b7d8fb…03f0016a401150eedce8e10bbf663bf9
Example:7e345fc6381bb77fd6bc2bf182cfe0d5Typesetting style94b3e26ee717c64999d7867364b1b4a3
Inline typesetting style:
All style definitions in inline typesetting must be between c9ccee2e6ea535a969eb3f532ad9fe89..531ac245ce3e4fe3d50054a55f265927, and c9ccee2e6ea535a969eb3f532ad9fe89 ..531ac245ce3e4fe3d50054a55f265927 must be between 93f0f5c25f18dab9d176bd4f6de5d30e..9c3bca370b5104690d9ef395f2c5f8d1.
and its functions can be divided into three types,
1. Mark definition type
2. Class definition type
3.id definition type
Tag definition type format:
<head> <style type=”text/css”> 标记名称{属性 1:属性值 1;属性 2:属性值 2;} 标记名称{属性 1:属性值 2;属性 2:属性值 2;} </style> </head> <body> <标记名称>…</标记名称> </body> class 定义型格式: <head> <style type=”text/css”> .定义名称{属性 1:属性值 1;属性 2:属性值 2;} .定义名称 1,.定义名称 2{属性 1:属性值 1;属性 2:属性值 2;} </style> </head> <body> <标记名称 class=”定义名称”>…</标记名称> </body> id 定义型格式: <head> <style> #定义名称{属性 1:属性值 1;属性 2:属性值 2;} #定义名称 1,#定义名称 2{属性 1:属性值 1;属性 2:属性值 2;} </style> </head> <body> <标记名称 id=”定义名称”>…</标记名称> </body> 外部排版样式定义: 独立的样式排版: 标记名称{属性 1:属性值 1;属性 2:属性值 2;} .定义名称{属性 1:属性值 1;属性 2:属性值 2;} 在<head>…</head>之间使用<link> 格式: <head> <link rel=”stylesheet” type=”text/css” href="http://www.php1.cn/"> </head> 在<head>…</head>之间使用 import 格式: <head> <style type="text/css"> @import "style.css" </style> </head>
After introducing CSS layout style. . . . Next, let’s take a look at those powerful selectors in CSS
1. Wildcard selector, also called global selector - (acts on the entire web page)
*{ font-size:13px; font-family:"微软雅黑","华文楷体"; }
2. Element selector
p,h1,h2,h3,a{ font-size:13px; }
3. ID and class
Selector is used to control the style of page design. It includes ID selector and class selector. For a long time, many developers often confuse ID with class, or cannot correctly understand it. Use these two selectors, or simply think that one replaces the other. This understanding is extremely wrong.
(1). Application ID
Each ID can only be used in one page Can be used once as a unique identifier for an element. Generally, ID is only used for unique elements of the page, such as headers, main navigation bars, layout blocks, etc.
Example: 0ecb797e9ca55ec46ea0a0fe11323c07 This paragraph has red text. Device combination
/*Suitable for all h2 titles*/
h2{ color: #333; font-size:16px; }
/*Only suitable for title h2 titles*/
h2#title { color: #eee; }
Corresponding HTML code:
<h2>Title Of My Article</h2> <h2 id=”title”>Title Of My Article</h2>
(3). ID usage occasions
For each ID, only one element can be used on each page This style, therefore, the ID should not be retained for elements that are unique to each page and used only once,
(4). Avoid using IDs. When the same CSS rule needs to be used in more than one place, IDs should not be used. .
(5). The application class can be used unlimited times, so it is a very flexible way to apply CSS.
964bb13a67a0e53e393fe4dddb73a9dbhis paragraph has red text.< ;/p>
Related CSS code:
.hightlight {color:FFFFFF; }
(6). Combining multiple classes and IDs Example:
<ul id=”drinks”> <li class=”mix”>Beer</li> <li class=”mix”>Spirtis</li> <li class=”hot”>Cola</li> <li class=”hot”>Lemonade</li> </ul>
Corresponding CSS code:
ul#drinks { color:FF6600; } .mix { Color:#999999; } .hot { Color:#333333; } (7).利用类改写基本样式: p{Color:#ff6600; } .bleached {Color:#ccc; }
Corresponding HTML code:
<p>This paragraph has red text.</p> <p class=”bleached”>This paragraph has red text.</p>
(8). Directly link the class to the element
p.bleached {color:red; }
The corresponding HTML code:
<p class=”bleached”>This paragraph has red text.</p>
(9). For class, if If you reuse it multiple times or use a subclass selector, then select class. If it is a unique tag that defines uniqueness, such as layout, then use id.
4. Cascading
(1). External links realize cascading
c66f3b8441e4f5cc568599cbf2a4f619
6fd5cd95685985f00d6d87ce4c39be89
303d96eeadf05ac75ab1ad201d4a3115
(2). Import styles to achieve cascading
@import url("one.css")
@import url("two.css")
@import url("three.css")
Note: One rule must be kept in mind. The later the rule is given, the more important it is.
5
(1 ).Element selector
p{color:black;}
a{text-decoration:underline;}
h1{font-weight:bold;}
(2). Descendant selector
h2 i{color:red; }
li a{text-decoration:none;}
#main h1{Color:red;}
(3).伪类
a:link{color:blue;}
a:visited{color:green;}
a:hover,a:active{color:red;}
input:focus{background-color:yellow;}
(4).高级选择器
高级选择器,目前支持还不太完善,所以,对于站点功能很重要的任何元素上,应该避 免使用这些高级选择器.
10、子选择器和相邻同胞选择器
子选择器
#nav > li { background:url(bg.gif) no-repeat left top; } <ul id="nav"> <li>Home</li> <li> <ul> <li>Development</li> <li>Consultancy</li> </ul> </li> <li>Contact Us</li> </ul>
相邻同胞选择器:
h1+p{font-weight:bold;} <h1>Main Heading</h1> <p>First Paragraph</p> <p>Second Paragraph</p>
11、属性选择器
<strong title=”Cascading Style Sheets”>CSS</strong> strong[title] {border-bottom: 1px dotted #999;} strong[title]:hover {cursor:help;background:#ccc} 12、针对列表项特别好用的两个伪类选择器: ol li:first-child{ /*选中ol下面的第一个li*/ } ol li:last-child{ /*选中ol下面的一最后一个li*/ } CSS3选择器新特性 a[href$='.jsp']{ /*所有a标签中href属性为.jsp结尾的被选中*/ } a[href^='asd]{ /*所有a标签中href属性为asd开头的被选中*/ } a[href*='asd]{ /*所有a标签中href属性中包含asd的被选中*/ }
选择表中的行:
tr:nth-of-type(even){ background-color:red; /*选中偶数行*/ } tr:nth-of-type(odd){ background-color:red; /*选中奇数行*/ } tr:nth-of-child(n){ background-color:red; /*选中所有行*/ }