HTML5+CSS3学习日志--day2

(五)复合选择器(更准确,更高效找标签)

由两个或多个基础选择器,通过不同方式组合而成

1.后代选择器:父选择器 子选择器{}(用空格隔开)

html代码:

<div>
    <span>shdaklkl</span>
    <p>
        <span>sdhgljsdlgl</span>
    </p>
</div>

css代码:

div span{color:red;} (div中的所有span标签中的内容都显示该样式)

2.子代选择器:选中某元素的子代元素(最近的子级)

选择器写法:父选择器 > 子选择器

css代码: div > span {color:red;} (只有div中的第一个span标签显示该样式)

3.并集选择器:选中多组标签设置相同的样式

选择器1,选择器2,....,选择器N {} (建议每写一个选择器就换一次行)

4.交集选择器:选中同时满足多个条件的元素(同一个标签同时有标签选择器,类选择器或id选择器中的两种到三种)

选择器1选择器2 {} <!--选择器之间直接相连-->

注:若交集选择器中有标签选择器,标签选择器必须书写在最前面

(六)伪类选择器:

设置当鼠标作用于标签元素时的样式

鼠标悬停状态:选择器:hover

例:html代码:标签,css代码:a:hover { color:red;}

任何标签都能设置悬停样式(伪类选择器)(注:除开a,其他有没有效未知,p好像就没有)

(七)伪类-超链接(按LVHA的顺序填写)

在工作中一般只设置hover

a {

color:red;

}

a:hover {

color:greed;

}

(八)CSS三大特性(理解就好)

1.继承性:子级默认继承父级的标签设置

先设置整个body的样式

注:如果标签中有重叠样式现象,浏览器会优先选择特殊的。

因此若想让某一个标签样式不同于公共样式,可单独设置它的选择器。

2.层叠性:

相同属性会覆盖:后浪拍前浪

不同属性会叠加

3.优先级:

当一个标签使用了多种选择器时,基于不同类型的选择器的匹配规则

规则:优先级高的样式生效

公式:通配符选择器<标签选择器<类选择器<id选择器<行内样式<!important

!important: 提权功能,提高权重/优先级到最高,慎用。

*{

color:red !important;

}

4.优先级-叠加计算规则(在存在复合选择器时)(多练就好)

例:.box div{ .box {

color: red; color:green;

} }

分析:他们都没有行内样式和id选择器,则从类选择器个数开始,发现都为1,接着看标签选择器为1:0,所以浏览器会优先显示红色

(九)Emmet写法

代码简写:(Vs Code中)

div标签简写可直接 .类名and .#id名

css可多个属性一起简写:w500+h200+c#fff

(十)背景属性

1.背景图 (默认为平铺效果)

属性名:background-image (bgi:简写方式)

属性值:url(图片地址)

background-imge: url("");

2.背景图平铺方式:

属性名:background-repeat

属性值:

3.背景位置:

默认为左上角

属性名:background-position(bgp)

属性值:1.关键字法:水平、垂直(left、right、center、top、buttom)2.坐标法(数字+px,正负都可) 3.关键字与坐标结合

注:1.数字:先水平后垂直 关键字可颠倒该顺序,

2.可以只写一个关键字,另一个方向默认为居中,数字只写一个值表示水平方向,垂直默认为居中。

4.背景图缩放

如果图比例与盒子尺寸一样则用哪种表示法都是一样的效果

属性名:background-size

属性值:(关键字和百分比方式常用)

contain:如果图片的宽高与盒子尺寸相等则停止缩放,可能露白

用百分比时,100%图片是当图片宽度与盒子宽度一样则停止缩放,高度按原图宽高关系等比缩放。

5.背景图固定

属性名:background-attachment(bga)

属性值:fixed(一般用在大图上,一般不用)

6.背景复合属性

属性名:background(bg)

属性值:color image repeat position/size attachment(空格隔开各个属性值,不区分顺序)

(十一)显示模式(*)

为在布局网页时,根据标签的显示模式选择合适的标签摆放内容

块级元素:(例:div)

独占一行

宽度是父级元素的100%

添加宽高属性生效

行内元素:(例:span、a)

一行共存多个

尺寸由内容撑开

添加宽高不生效

行内块元素:(例:img)

一行共存多个

默认尺寸由内容撑开

添加宽高生效

转换显示模式:

属性名:display

属性值:block(块级)、inline-block(行内块)、inline(行内->一般不用)

经验总结:

(在使用水平对齐方式时,不要转换显示模式为block,应block块级元素自站一行)

文本居中方式:

1.让line-height等于所在盒子尺寸高度

2.text-align:center;(水平居中)

多用后代选择器和类选择器

(十一)结构伪类选择器:根据元素的结构关系查找元素

多个相同的标签时可用(标签:frist-child..)来选择其中特定的一个设置样式。

:nth-child(公式)

注:n+5和-n+5包含第5个标签

(十二)伪元素选择器

创建虚拟元素(伪元素),用来摆放装饰性内容

注:1.区别于伪类选择器 ,有两个冒号:

2.必须设置content:" "属性,用来设置伪元素的内容,如果没有内容 ,则引号留空即可

3.伪元素默认是行内显示模式(添加宽高不生效,一行多个,内容撑开)

4.权重标签选择器相同

​<div>爱</div>

(十三)PoCook

PxCook(像素大厨)是一款切图设计工具软件。支持psd文件的文字,颜色,距离智能识别

可用该软件查看设计图的尺寸和颜色

(十四)盒子模型
1.盒子模型-组成

内容(cotent)

内边距(Padding)

边框(border)

外边距(Margin)

2.盒子模型-边框线

属性名:border

属性值:粗细、样式、颜色(无顺序)

样式:

设置单方向的边框线

属性名:border-方位词(bd+方位词首字母-简写)

border-top、border-right、border-bottom、border-left

属性值:粗细、样式、颜色(无顺序)

3.盒子模型 -内边距

属性名:padding/padding-方位词

属性值:数字+px

多值写法:

记忆法:从上开始顺时针,遇到空缺看对面

4.尺寸的计算

盒子尺寸=内容尺寸+border尺寸+内边距尺寸

(给盒子加border和padding会撑大盒子,若想要固定盒子尺寸则在设计物体的宽高时需要考虑border和padding,那么就应减小内容尺寸)

css内置减小内容尺寸方式

box-sizing:border-box;

5.外边距

属性名margin

属性值:与padding相同

版心居中:(必须要设置盒子宽度)

margin:0 auto;

6.清除默认样式
(1)去除默认内外边距

*{

margin:0;

padding:0;

box-sizing:border-box;<!--启动内减模式,预防撑大盒子-->

}

(2)去除有序无序列表的项目符号

li {

list-style:none;

}

(3)去除链接下划线(之前的)

a {

text-decoration:none;

}

7.元素溢出

控制溢出元素的内容的显示方式

属性名:overflow

属性值:

overflow:hidden;(最常用)

8.外边距问题
(1)合并现象

场景:垂直排列的兄弟元素,上下margin会合并(左右排列为叠加效果)

现象:取两个margin中的较大值生效

解决:只设一个

(2)塌陷问题

场景:父子级的标签,子级的添加上外边距 会产生塌陷问题

现象:导致父级一起向下移动

解决方法:

a.取消子级margin,父级设置padding(直接杜绝问题)

b.父级设置overflow:hidden(存在后解决)

c.父级设置border-top(存在后解决)

a推荐使用√

b理解:

浏览器会先检查移动之前父级的位置然后将父级下移溢出区域剪掉,找到父级正确的边缘,于是只将子级向下。

c理解:

同样是让浏览器找到父级正确边缘,修改错误。

9.行内元素-内外边距问题

场景:行内元素(span)添加margin和padding,无法改变元素垂直位置

解决:添加line-height

10.边框圆角效果

属性名:border-radius

属性值:数字+px/百分比

提示属性值为圆角半径

多直写法:左上顺时赋值,无值对角取值

正圆:给正方形盒子设置圆角属性值为宽高的一半/50%(最大为50%,超过无效果)

胶囊形状:给长方形盒子设置圆角属性为盒子高度的一半。

11.阴影效果

属性名:*box-shadow

属性值:x轴偏移量 y轴偏移量(这两个必有) 模糊半径 扩散半径 颜色 内外阴影(属性之间空格隔开,默认是外阴影,内阴影用inset提示)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值