【後转前要多久】# Day06 CSS - Selectors 选取器

CSS Selectors 介绍

Selectors英文直接翻译是选择者、选择的物品等等,中文叫 选择器选取器
选取器念起来超难发音的,很容易念成"选取去"、"选起器",每次都会打结...

可怕,我不是就学CSS阶层样式而已吗
怎麽半路还冒出一个"选取器",
不知道在干嘛就算了,这玩意的名字还怪怪的...

选择器就做一件事情:让CSS样式选择哪个HTML Tag、或者哪个Element来作样式的套用。
白话一点就是,如何去描述族谱或基因图里面的特定其中一人、或特定团体人物的作法。

基本选择器

以下三种选择方式是最最基本款~

1. 标签选择器 <tag>

HTML

...
<p>产生我有幽默以便随。</p>
...

CSS

p{
    color: brown;
    font-size: 30px;
}

中文真是让人搞昏头
tag、label这两者的中文都叫作"标签"
tag 偏向附加的记号
label 属於本身的标志

2. 类别选择器 class=""

HTML

...
<p class="para">产生我有幽默以便随。</p>
...

CSS

.para{
    color: #555;
}

3. ID选择器 #id

ID尽量不重复
ID能作锚点,网页快速导览时跳到指定的区域内容

HTML

...
<p id="para1">产生我有幽默以便随。</p>
...

CSS

#para1{
    color: green;
}

以下则是使用程度低於上面三种的选取方法:

通用选择器 *

* 星星符号(asterisk) 表示所有符合的标签。

HTML

...
<p>段落文字1</p>
<p>段落文字2</p>
<p>段落文字3</p>
...

以下是两个不一样的CSS

CSS(网页底下的所有元素均被选中)

*{
    color:blue;
    background-color:yellow;
}

CSS(只有Body底下的元素会被选中)

body *{
    color:blue;
    background-color:yellow;
}

状态、拟态选择器 :

hover 徘徊、当滑鼠滑过去时生效
active 被激发的,当滑鼠按住不放时生效

HTML

<a href="#">连结</a>

CSS

a:hover{
    font-size: 20px;
    color: red;
}

a:active{
    color: darksalmon;
}

伪元素 ::before::after

两个冒号::开头都是伪元素,
伪元素因为很像元素但却不是真正的元素,
所以必须加上content内容属性,否则不会有任何效果(伪元素没内容就自动隐藏啦)

::before 在该元素之前作用
::after 在该元素之後作用

HTML

...
<p>P段落</p>
<div>DIV</div>
<p>P段落</p>
...
div::before{
    content:"before";
    color:red;
}

div::after{
    content:"after";
    color:blue;
}

属性选择器 [attr=value]

...
<form action="index.html">
    <input type="text">
</form>
...

CSS

input[type="text"]{
    border: 3px solid blue;
    border-radius: 10px;
    background-color: yellow;
    padding: 5px;
    color: red;
}

以下几种方式牵涉到下一层的子代、後代

子代是一种後代,
但後代不一定是子代
(後代包含子代、孙代、曾孙...)

复合选择器

後代选择器 A B

後代包含了子代、孙子、曾孙...

HTML

...
<div class="container">
    <div class="content">
        <a href="#">标签1</a>
        <a href="#">标签2</a>
        <p class="p1">这是段落1</p>
        <p class="p2">这是段落2</p>
    </div>
</div>
...

CSS

.container a{
    color: teal;
}

.container .p1{
    color: orange;
    font-weight: bold;
}

直属、子代选择器 A>B

只包含下一个子代

套用刚刚的HTML、CSS,
只是在CSS中加了个>符号,样式就吃不到了。

HTML

<div class="container">
    <div class="content">
        <a href="#">标签1</a>
        <a href="#">标签2</a>
        <p class="p1">这是段落1</p>
        <p class="p2">这是段落2</p>
    </div>
</div>

CSS

.container>a{
    color: teal;
}

.container>.p1{
    color: orange;
    font-weight: bold;
}

多重选择器 A,B

用逗号, 来一次选取多个选择器条件

HTML

<div class="red">
    <div class="content1">content1</div>
    <div class="content2">content2</div>
</div>

<div class="content1">content1</div>
<div class="content2">content2</div>

CSS

.red .content1,.red .content2{
    font-size: xx-large;
}

.red{
    color: red;
}

同时具有多个Class AB

中间没有任何符号分隔,需同时具备多个选择器条件
(只要有class就会套用,与class的顺序无关)

HTML

<div class="blue red" id="test">
    test
</div>

CSS

.red.blue#test{
    background: red;
    color: dodgerblue;
    font-size: xx-large;
}

<<:  堆叠 - 递回 - 费氏数列 - DAY 7

>>:  Day 21 - 嵌入 AlexeyAB/darknet 的 Python

使用 Domain Driven Design 来进行架构设计

接续上一篇的故事,阿明跟小美又经过了几次的对话与讨论,在便利贴专案中整理归纳了下列这几个关键字: C...

Day 14:AWS是什麽?30天从动漫/影视作品看AWS服务应用 -《云端情人》part1

2013年由Spike Jonze执导,《云端情人》作为科幻取向的作品, 意外有别於总是导致灾难毁灭...

CSS微动画 - Animation也会影响网页效能?

Q: 终於要讲效能了! A: 以Loading为范例讲黑~ Animation Loading 直...

[Day21]程序菜鸟自学C++资料结构演算法 – 杂凑搜寻法实作

前言:昨天讲解完了杂凑法的定义和,今天要来把它实际创建出来,这次用到的杂凑法要用之前学过的链结串列来...

AlwaysOn 可用性群组 (AOAG) - 心得分享

DBA Bootcamp 下面这张图说明了 SQL Server AlwaysOn 可用性群组 (A...