css中的行高,盒子模型(边框,内边距,外边距),以及firework的基本使用

1、行高定义

浏览器默认文字大小:16px

行高:基线与基线之间的距离

行高=文字高度+上下边距

一行文字行高和父元素高度一致的时候,垂直居中显示

2、行高的单位

文字大小     行高单位       行高的值

  20px          350px 35px  (和文字大小无关)

  20px          2em           40px  20px*2

  20px          150%          30px   20px*150%

     20px           2             40px   20px*2

总结:单位除了像素以外,行高都是与文字乘积

 

父元素文字大小 子元素文字大小 行高单位 行高

20px               30px               40px         40px

20px   30px               2em         40px       

20px   30px               150%        30px

20px               30px                2           60px

总结:不带单位时,行高和子元素大小相乘,em%的行高是和父元素文字大小相乘。行高以像素为单位,就是定义的行高值。

推荐使用像素px为单位

3、盒子模型

   3.1 边框border

border-top-stylesolid  实线

               dottled 点线

               dashed 虚线

border-top-color:边框颜色

border-top-width 边框粗细

u 边框属性的连写:没有顺序要求,线型为必写项

border-top:red solid 5px;

border:red solid 5px;(四个边框相同时的写法)

    3.2边框合并

border-collapse:collapse;(表格中的细线设置)

代码:

table{

width: 300px;

height: 200px;

border: 1px solid red;

border-collapse: collapse;

}

td{

border: 1px solid red;

}

3.3获取焦点

代码:.username{

border: 0 none;

outline-style: none;

background-color: pink;

border: blue 0.5px dottled;

}

.username:focus{

background: green;

}

获取光标焦点:Label for id

<label for="username">    名:</label>

<input type="text" class="username" id="username">

3.4内边距

padding-left 距离左边

padding-right  距离右边

padding-top  距离上边

padding-bottom  距离下边

内边距连写

Padding:10px       上右  下左  内边距都是20px

Padding:10px 20px      上下20px   左右30px

Padding:10px  20px 30px   上内边距10px    右左20px  30px

Padding:10px 20px 30px 40px    10px  20px  30px  40px

u 内边距撑大盒子问题

影响盒子的因素:内边距影响盒子的宽度

                边框影响盒子的宽度

盒子的宽度 = 定义的宽度 + 边框宽度 + 内边距

u 继承的盒子一般不会被撑大

包含(嵌套)的盒子,如果盒子没有定义宽度,给盒子设置左右内边距,一般不会撑大盒子

3.5外边距

margin-left 距离左边

margin-right  距离右边

margin-top  距离上边

margin-bottom  距离下边

u 外边距连写

margin:10px       上右  下左  内边距都是20px

margin:10px 20px      上下20px   左右30px

margin:10px  20px 30px   上内边距10px    右左20px  30px

margin:10px 20px 30px 40px    10px  20px  30px  40px

u 垂直方向外边距合并

垂直方向的2个盒子,如果都设置了垂直方向外边距,取的是设置的比较大的值。

u 外边距塌陷

   问题:嵌套的盒子,直接给子盒子设置垂直方向外边距的时候,会发生外边距塌陷。

解决方案:(1)给父盒子设置边框 border:red 1px;

(2)给父盒子设置overflowhidden;

4、firework基本使用

新建文件   ctrl+n

打开文件  ctrl+o

调出和隐藏标尺 ctrl+r

清除辅助线:  视图---辅助线----清除辅助线

放大镜  z   放大镜状态下alt+鼠标左键 缩小

抓手   快捷键   空格

测量距离      ★先拉出2根辅助线

              ★切换到指针工具

              ★将光标放到2根辅助线之间,按住shift

<think>嗯,用户询问CSS内边距padding和外边距margin的区别及作用,结合了引用内容,我得认真分析一下。首先查看用户提供的三个引用内容,引用[1]指出padding调整元素内容在元素中的位置,并给出了示例代码展示四边不同的padding效果。引用[2]提到padding是内容与边框的距离,也提到了margin的简写语法。引用[3]则补充了内元素的padding特性和背景延伸特性,还有margin不允许负值等细节。用户明确表示想了解这两个概念的区别和作用,需要清晰对比。核心差异应该是作用区域不同:padding在边框内侧控制内容间距,margin在边框外侧控制元素间距离。这一点从三个引用中都能得到验证。接着是影响范围:padding影响元素自身尺寸,引用[3]提到内元素垂直padding不影响但可能造成重叠,这很重要得说明。而margin影响外部布局,比如相邻元素的间距,这个在引用[2]和[3]都有体现。关于作用点,引用[1]的代码示例很直观展示了padding如何拉开文本与边框距离,而margin改变元素位置在引用中没有直接示例但可以补充。还要考虑盒模型结构:内容→内边距边框外边距的顺序,这个基础结构需要强调。简写语法方面,引用[2]列出四种简写规则,应该用表格对比会更清晰。另外特殊为如引用[3]指出的内元素垂直padding的视觉重叠问题、背景延伸特性都是易错点需要提醒。准备设计回复结构:开头用盒模型图景化概念,然后用对比表格区分核心差异。接着分点详述padding功能(尺寸影响、简写、特殊案例)和margin功能(负值、垂直合并、简写)。最后总结应用场景比如按钮内距用padding、模块间距用margin。需要补充用户引用外的知识点,如垂直margin合并和负值应用,但要注意引用[3]提到不允许负值需更正是margin不接受负值错误提示。内元素特性部分要突出引用[3]原文提到的左右有效上下无效的特点。</think> 在CSS中,`padding`(内边距)和 `margin`(外边距)是盒模型的核心概念,主要区别在于**作用的区域和影响的对象**: | **特性** | **Padding(内边距)** | **Margin(外边距)** | |----------------|-------------------------------------------|------------------------------------------| | **作用区域** | 元素**内容与边框之间**的空间 | 元素**边框之外**的空间 | | **影响对象** | 控制**元素内部内容**的位置 | 控制**元素与其他元素**的间距 | | **背景色影响** | ✅ 背景色/背景图会延伸到padding区域 | ❌ 完全透明,不影响背景 | | **可接受负值** | ❌ 不允许负值 | ✅ 允许负值(元素会重叠) | | **内元素特性**| 垂直方向可能重叠内容(不占布局空间) | 垂直方向无效(水平方向有效) | --- ### 🔍 详细解析: 1. **Padding(内边距)的作用** - 增加元素**内容与边框**的距离(如文本离边框的距离)。 - 会**扩大元素的实际尺寸**(需注意盒模型计算方式 `box-sizing: border-box/content-box`)。 - 内元素(如`<span>`)垂直方向的 `padding` 不占布局空间,可能造成内容重叠[^3]。 *示例代码:* ```css div { padding: 20px; /* 四边统一值 */ padding: 10px 30px; /* 上下10px, 左右30px */ padding: 5px 15px 25px; /* 上5px, 左右15px, 下25px */ } ``` 2. **Margin(外边距)的作用** - 控制**元素与相邻元素**的间距,不影响自身内容布局。 - 垂直方向上相邻元素的 `margin` 可能发生**合并(Collapsing)**(取较大值)。 - 内元素仅水平方向的 `margin` 有效[^3]。 *示例代码:* ```css div { margin: 15px auto; /* 上下15px, 左右居中 */ margin-top: -10px; /* 负值允许(元素上移) */ } ``` --- ### 📌 核心区别总结: | **场景** | **Padding** | **Margin** | |----------------------|---------------------|---------------------| | **增加按钮内文本间距** | ✅ `padding: 12px` | ❌ | | **调整两个卡片间距** | ❌ | ✅ `margin: 20px` | | **元素背景扩展范围** | ✅ 背景覆盖padding | ❌ 透明区域 | --- ### 💡 应用场景建议: - **用 `padding` 的场景**: 按钮内文字留白、卡片内容缩进、增加表单输入框内文字空间。 - **用 `margin` 的场景**: 段落间距、网格布局中元素间隔、居中元素(`margin: 0 auto`)。 > ⚠️ **注意**:`padding` 改变元素尺寸,可能导致布局溢出;`margin` 在垂直方向合并时需额外检查间距预期。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值