CSS学习 | 青训营笔记

196 阅读3分钟
这是我参与「第四届青训营」笔记创作活动的第2天。

一、属性

1.diabled属性

disabled属性代表禁用;
例如:
<input type="text" value="007" disabled />代表着这个文本输入框不可填写内容!

2.选择器

<style>
[disabled]{
    Background: #eee;
    color: #999;
} 
</style>
上述内容的意思是:只要元素有disabled这个属性,就选中这个元素

<style>
input[type=”password”]{
    Border-color: red;
    Color: red;
}
</style>
上述内容的意思是:代表input标签中属性type的值为”password”才选中

a[href^=”#”] //代表选中href属性值以”#”开头的a标签
a[href$=”#”] //代表选中href属性值以”#”结尾的a标签

3.伪类

状态伪类:指的该元素在和用户交互的某一种状态,例如“a:hover”表示用户把鼠标放在<a>标签上面的状态。
结构伪类:例如“li:first-child”与“li:last-child”代表的是列表中的第一个元素与最后一个元素

4.元素组合

AB: 直接组合
A B: 后代组合,选中B,如果B在A的后面
A>B: 亲子组合,选中B,如果B是A的子元素
A~B:兄弟选择器,选中B,如果它在A后面并且跟B同级
A+B:相邻选择器,选中B,如果它在A后面并且是A后面的第一个兄弟元素

二、颜色RGB

颜色的alpha透明度: 0是表示完全透明; 1是不完全透明
“Rgba”、“hsla”中的a表示的是alpha透明度

三、深入CSS

1.特异度

选择器的特异度(Specificity)计算公式:
(#(id)、.(类或伪类)、E(标签))。例如“.top #id1 a h .bottom”的特异度值为122

2.继承

继承:**某些**属性会自动继承其父元素的计算值,除非显式指定一个值(width等属性不可继承)
显示继承 box-sizing:inherit //显式继承

3.初始值

在CSS中,每个属性都有一个初始值。例如background-color的初始值为transparent;margin-left的初始值为0。
可以使用initial关键字显式重置为初始值,例如Background-color:initial。

四、CSS布局

布局相关技术:常规流(行级、块级、表格布局、FlexBox、Grid布局)、浮动、绝对定位

1.盒子模型

盒子模型的注意事项:
“margin:auto”为水平居中
margin在垂直方向上会取值更大的边距,以下方的code为例,类别为a的div块级元素和类别为b的div块级元素的垂直距离不是30px,而是20px。
    <style>
        .a{
            width: 100px;
            height: 100px;
            margin-bottom: 10px;
        }
        .b{
            width: 100px;
            height: 100px;
            margin-top: 20px;
        }
    </style>
    <body>
        <div class="a"></div>
        <div class="b"></div>
    </body>

2.块级元素与行级元素

块级元素:适用所有的盒模型属性
行级元素:盒模型中的width、height不适用;(width和height是由其内容决定的)
display的属性值"inline-block":本身是行级,可以放在行盒中;可以设置宽高;作为一个整体不会被拆散成多行

3.Flex布局

flex-direction:控制容器的流向
主轴:摆放的方向(对齐属性justify-content)
侧轴:与主轴垂直(对齐属性align-items)

Flexibility
flex-grow:向外伸展
flex-shrink:向内收缩

4.Grid属性

grid-template-columns: 100px 1fr 1fr;
grid-template-rows: 100px 1fr; 
//fr的意思是fraction

5.float属性

现阶段,float属性的作用是实现文字环绕。

6.position属性

static:默认值,非定位元素
relative:相对自身原本位置偏移,不脱离文档流(使用topleftbottomright设置偏移)
absolute:脱离常规流;相对于最近的非static祖先定位
fixed:相对于窗口定位(滚动时永远固定在页面)
sticky:例子为“本来不在顶部,滑动着滑动着就吸附在顶部”

写在最后:

1.学习CSS的几点建议
2.充分利用MDN和W3C CSS规范
3.保持好奇心,善用浏览器的开发工具
4.持续学习,CSS新特性还在不断出现