CSS学习笔记

1.css的字体大小

1.属性名:font-size

2.语法:div{

                     font-size:40px;

                   }

3.注意点

①chrome浏览器支持的最小文字为12px,默认的字体大小为16px,且0px会自动消失。

②不同浏览器默认的字体大小可能不一致,最好给一个明确的值。

③通常给body设置font-size属性,这样body中其他元素就都可以继承了。

2.字体族

1.属性名:font-family

div{

font-family:“STCaiyun”

}

注意:①使用字体的英文名字兼容性更好

②serif称线字体      sans-serif非称线字体

③可以用中文    微软雅黑   宋体  楷体   华文彩云等  

3.字体风格

1.属性名:font-style

2.常用值

①normal:正常(默认值)

②italic:斜体(使用字体自带的斜体效果)

③oblique:斜体(强制倾斜产生的斜体效果)

3.语法:div{

font-style:italic

}

4.字体粗细

1.属性名:font-weight

2.常用值:lighter(细)  normal(正常)bold(粗)bolder(很粗)以及数字

3.100-300等同于lighter ,400-500等同于normal,600及以上等同于bold

5.字体的复合写法

1.属性名:font

2.编写规则:①字体大小,字体族必须都写上

②字体族必须最后一位,字体大小必须是倒数第二位

③各个属性间用空格隔开

6.文本颜色

1.属性值:color

2.可选值:颜色名、rgb或rgba、HEX或HEXA(十六进制)、HSL或HSLA

7.文本间距

字母间距:letter-spacing

 单词间距:word-spacing

属性值为像素px,正值让间距增大,负值让间距缩小

8.文本修饰

1.属性名:text-decoration

2.可选值:none(无装饰线)underline(下划线)overline(上划线)line-through

(删除线) dotted(虚线)  wavy(波浪线)

3.实例

a{

text-decoration:none;

}

9.文本缩进

1.属性名:text-indent

2.属性值:长度单位(px)

(如果文字大小为20px,那么缩进40px就是缩进两个字,60px就是三个字)

10.文本对齐-水平

1.属性名:text-align

2.常用值:left(左对齐)right(右对齐)center(居中对齐)

11.行高

1.属性名:line-height

2.可选值:normal(默认值)、px、数字(参考font-size的倍数)、百分比(参考自身font-size的百分比)

3.实例

div{

line-height:60px;

line-height:1.5;

line-height:150%;

}

4.注意事项

12.文本对齐-垂直

1.顶部:无需任何属性,在垂直方向上,默认就是顶部对齐

2.居中:对于单行文字,让height=line-height即可

3.对于单行文字,方式;让line-height=(height*2)-font-size-x

x是根据字体族动态决定的一个值

13.vertical-align

1.属性名:vertical-align

2.作用:用于指定的同一行元素之间,或表格单元格内文字的垂直对齐方式

3.常用值:baseline(默认值):是元素的基线与父元素的基线对齐

top:使元素的顶部与其所在行的顶部对齐

middle:使元素的中部与其父元素的基线加上父元素字母x的一般对齐

bottom:使元素的底部与其所在行的底部对齐

4.此属性名可以用在图片上,但是不能控制块元素

14.css的列表属性

15.css的表格属性

边框的复合写法

border:1px  solid  red;

16.css的背景属性

17.css的鼠标属性

18.css的盒子属性

1.css的长度单位

px(像素)、em(相对元素font-size的倍数)、rem(相对字体大小,html标签就是根)

%(相对父元素计算)

19.元素的显示模式(行内块)

实例

div{

display:inline-body

}

作用:使元素从左往右排列,在页面中不独占一行

1.块元素(block)

特点:①在页面中独占一行,不会与任何元素共用一行,是从上到下排列的

②默认宽度:撑满父元素

③默认高度:由内容撑开

④.可以通过css设置宽高

⑤特殊作用:可以使用在页面制作上,放在hover的里面,用作display:block可以使隐藏的内容显现(鼠标放在上面显现,不放在上面不显示,具体运用见尚硅谷153集)

2.行内元素(inline)

特点:

①在页面上不独占一行,一行中不能容纳下的行内元素,会在下一行继续从左到右排列

②默认宽度:由内容展开

③默认高度:由内容展开

④无法通过css设置宽高

3.行内块元素(inline-block)

特点:

①在页面中不独占一行,一行中不能容纳下的行内元素,会在下一行继续从左到右排列

②默认宽度:由内容撑开

③默认高度:由内容撑开

④.可以通过css设置宽高

20.总结·各元素的显示模式

21.修改元素显示模式

通过css中的display属性可以修改元素的默认模式

常用值:none(元素会被隐藏)

block(元素将作为块级元素显示)

inline(元素作为内联元素显示)

inline-block(元素作为行内块元素显示)

22.盒子模型的组成

margin(外边距):盒子与外界的距离

border(边框):盒子的边框

padding(内边框):紧贴内容的补白区域

content(内容):元素中的文本或后代元素都是他的内容

盒子大小=content+左右padding+左右border

23.盒子的内容区

width(长度):设置内容区域宽度

max-width(长度):设置内容区域的最大宽度

min-width(长度):设置内容区域的最小宽度

height(长度):设置内容区域高度

max-height(长度):设置内容区域最大高度

min-height(长度):设置内容区域最小高度

24.关于默认宽度

所谓的默认宽度,就是不设置width属性时,元素所呈现出来的宽度

总宽度=父的content-自身的左右margin

内容区的宽度=父的content-自身的左右margin-自身的左右border-自身的左右padding

25.盒子的内边距

26.盒子的外边距margin

27.margin塌陷以及合并问题

什么是margin塌陷?

第一个子元素的上margin会作用在父元素上,最后一个子元素的下margin会作用在父元素上

如何解决margin塌陷?

  • 方案一:给父元素设置不为0的padding
  • 方案二:给父元素设置宽度不为0的border
  • 方案三:给父元素设置css样式overflow:hidden

什么是margin合并?

上面兄弟元素的下外边距和下面兄弟元素的上外边距会合并,取一个最大的值,而不是相加。

如何解决margin塌陷?

无需解决,布局的时候上下的兄弟元素,只给一个设置上下外边距就可以了。

28.处理内容溢出

overflow(溢出内容的处理方式)

  • visible:显示,默认值
  • hidden:隐藏
  • scroll:显示滚动条,不论内容是否溢出
  • auto:自动显示滚动条,内容不溢出不显示

overflow-x(水平方向溢出内容的处理方式,同overflow)

overflow-y(垂直方向溢出内容给的处理方式,同overflow)

29.auto的使用

auto是一个特殊的值,它表示“自动适应”

  • auto可以用于heightwidthmarginpaddingflex-growflex-shrink等属性。
  • 当应用于heightwidth时,auto会使元素的高度或宽度自动适应其内容。
  • 对于marginauto通常用于水平居中元素,例如margin: 0 auto;会使元素的上下边距为0,左右边距自动适应,使元素在父元素中水平居中。
  • padding属性中,auto可以自动计算元素的内边距,使元素内容与元素边框之间的距离相等。
  • 在flex布局中,auto值可以帮助元素自动分配剩余空间或自动缩小以适应容器。

注意事项

  • 当元素内容被隐藏或未知时,auto值可能无法提供预期结果。
  • 在使用flex布局时,需要谨慎使用auto值,因为它可能会导致内容溢出或过小的元素。
  • 在需要精确控制布局的情况下,手动指定值可能比使用auto值更合适。

30.隐藏元素的方式

方式一:visibility属性

visibility属性默认值是slow,如果设置为hidden,元素会隐藏,元素看不见了,还会占有原来的位置(元素大小依然保持)

方式二:display属性

设置display:none,就可以让元素隐藏

彻底的隐藏,不但看不见,也不占用任何位置,没有大小宽高

31.样式的继承

有些样式会继承,元素如果本身设置了某个样式,就使用本身设置的样式;但如果本身没有设置某个样式,会从父元素开始一级一级继承(优先继承离得近的祖父元素)

会继承的css样式

字体属性、文本属性(除了vertical-align)、文字颜色等

不会继承的css样式

边框、背景、内边距、外边距、宽高、溢出方式等

32.元素默认样式

元素一般都有默认的样式,例如:

  1. <a>元素:下划线,字体颜色,鼠标小手
  2. <h1>-<h6>元素:文字加粗,字体大小,上下外边距
  3. <p>元素:上下外边距
  4. <ul><ol>元素:左内边距
  5. body元素:8px外边距(四个方向)

优先级:元素的默认样式>继承的样式,所以如果一定要重置元素的默认样式,选择器一定要直接选择到该元素

  1. 33.布局小技巧

34.元素之间的空白问题

产生的原因:行内元素、行内块元素,彼此之间的换行会被浏览器解析为一个空白字符

解决方案:

  1. 方案一:去掉换行和空格(不推荐)
  2. 方案二:给父元素设置font-size:0,再给需要的显示文字的元素,单独设置字体大小(推荐)

35.行内块的幽灵空白问题

产生原因:行内块元素与文本的基线对齐,而文本的基线与文本最底端之间有一定的距离的

解决方案

  1. 方案一:给行内块元素设置vertical,值不为baseline即可,设置为middle、bottom、top均可
  2. 方案二:若父亲元素只有一张图片,设置图片为display:block
  3. 方案三:给父元素设置font-size:0,如果该行内块内部还有文本,则需要单独设置font-size

36.浮动

float:left;

float:right;

37.元素浮动后的特点

  1. 脱离文档流
  2. 不管浮动前是什么元素,浮动后默认宽与高都是可以被内容撑开(尽可能小),而且可以设置宽高
  3. 不会独占一行,可以与其他元素共用一行
  4. 不会margin合并,也不会margin塌陷,能够完美设置四个方向的margin和padding
  5. 不会像行内块一样被当做文本处理(没有行内块的空白问题)

38.浮动后的影响

对兄弟元素的影响:后面的兄弟,会占据浮动元素之前的位置,在浮动元素下面;对前面的兄弟没有影响。

对父元素的影响:不能撑起父元素的高度,导致父元素高度塌陷;但父元素的宽度依然束缚浮动的元素

39.解决浮动产生的影响(清除浮动)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值