CSS 学习笔记(四)|圆角、阴影、浮动与清除浮动

14 阅读4分钟

学到这一天,CSS 已经开始真正参与页面布局了。
如果说前几天是“调样式”,那今天就是在搭页面骨架。


一、CSS3 新增样式

1、圆角边框(border-radius)

在 CSS3 中,新增了圆角边框样式,使盒子可以轻松变成圆角。

border-radius: 20px;

使用要点:

  • 参数值可以是数值或百分比

  • 正方形盒子想变成圆形:

    border-radius: 50%;
    
  • 支持四个值,分别表示:
    左上、右上、右下、左下

  • 也可以拆开写:

    border-top-left-radius
    border-top-right-radius
    border-bottom-right-radius
    border-bottom-left-radius
    
  • IE9+ 支持,不影响页面布局,可以放心使用


2、盒子阴影(box-shadow)

CSS3 提供了 box-shadow 属性,为盒子添加阴影效果。

box-shadow: h-shadow v-shadow blur spread color inset;

参数说明:

  • h-shadow:水平偏移
  • v-shadow:垂直偏移
  • blur:模糊半径
  • spread:扩展距离
  • color:阴影颜色
  • inset:内阴影(可选)

常见写法:

box-shadow: 0 4px 10px rgba(0,0,0,.15);

3、文字阴影(text-shadow)

用于给文本添加阴影效果。

text-shadow: h-shadow v-shadow blur color;

常用于提升文字层次感和可读性。


二、CSS 三种传统布局方式

CSS 提供了三种传统布局方式:

  • 标准流(普通流)
  • 浮动
  • 定位

在实际开发中,一个页面通常会同时使用多种布局方式。


三、标准流(文档流)

标准流是浏览器默认的布局方式。

块级元素特点:

  • 独占一行
  • 从上到下排列
  • 常见元素:div、p、h1~h6、ul、li

行内元素特点:

  • 从左到右排列
  • 遇到父元素边界自动换行
  • 常见元素:span、a、em

标准流是最基础、最核心的布局规则。


四、为什么需要浮动?

标准流无法完成一些复杂布局效果,比如多个块级元素横向排列。

浮动的典型应用场景:

  • 让多个块级元素在一行内显示

网页布局第一准则:

多个块级元素纵向排列使用标准流
多个块级元素横向排列使用浮动


五、什么是浮动(float)?

float 属性用于创建浮动元素,使其向左或向右移动。

float: left | right;

浮动会一直移动,直到碰到父元素边缘或其他浮动元素。


六、浮动的特性

1、浮动元素会脱离标准流

  • 不再占据原来的位置
  • 父元素无法感知其高度

2、浮动元素会一行显示并顶部对齐

  • 浮动元素会紧贴排列
  • 父元素宽度不足时会自动换行

3、浮动元素具有行内块特性

  • 可以设置宽高
  • 宽高由内容决定
  • 盒子之间没有缝隙

七、浮动元素与标准流父级的配合

常见布局策略:

父元素使用标准流控制上下结构
子元素使用浮动控制左右排列

这是最稳定、最常见的布局方式。


八、为什么需要清除浮动?

当子元素浮动后:

  • 子元素脱离标准流
  • 父元素高度塌陷
  • 会影响下面的标准流元素布局

清除浮动的本质是:

消除浮动元素脱离标准流带来的影响
让父元素重新拥有高度


九、清除浮动的几种方式

1、额外标签法(隔墙法)

在浮动元素末尾添加一个空标签:

<div style="clear: both;"></div>

优点:简单直观
缺点:增加无意义标签,不推荐


2、父元素添加 overflow 属性

overflow: hidden;

优点:代码简洁
缺点:溢出内容会被隐藏


3、after 伪元素清除浮动

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

实际开发中非常常见。


4、双伪元素清除浮动(推荐)

.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}

优点:

  • 不增加额外标签
  • 兼容性好
  • 主流网站常用方案

十、清除浮动总结

什么时候需要清除浮动:

  1. 父盒子没有高度
  2. 子盒子浮动
  3. 影响后续布局

满足以上条件,就需要清除浮动。


十一、PS 切图方式简介

常见切图方式:

  • 图层切图
  • 切片工具切图
  • 插件切图(如 Cutterman)

在实际项目中,插件切图效率最高。


结语

到这里,CSS 已经不只是“写样式”这么简单了:

  • 理解了浮动的行为
  • 明白了高度塌陷的原因
  • 掌握了多种清除浮动方案

这是从“会写 CSS”走向“理解 CSS”的关键一步。