ch11 -- CSS 盒模型

CSS 盒模型

元素分类

在 css 中,html 中的标签元素大体被分为三种不同的类型:

  • 块状元素
  • 内联元素或行内元素
  • 内联块状元素
  1. 常用的块状元素有:
    <div> 、<p> 、<h1> ··· <h6> 、<ol> 、<ul> 、<dl> <table> 、<address> 、<blockquote> 、<form>
  2. 常用的内联元素有:
    <a> 、<span> 、<br> 、<i> <em> 、<strong> 、<label> 、<q> 、<var> 、<cite> 、<code>
  3. 常用的内联块状元素有:
    <img> 、<input>

块级元素

在 html 中 <div> 、<p> 、<h1> 、<form> 、<ul> 和 <li> 是典型的块级元素。可以通过设置 display:block 将元素显示为块级元素。

示例如下:

将内联元素 a 转换为块状元素,使 a 元素具有块状元素特点。

a{
    display:block;
}
<a>内联元素变为块状元素</a>

块级元素特点:

  1. 每个块级元素都从新的一行开始,并且其后的元素也另起一行。
  2. 元素的高度、宽度、行高以及顶和底边距都可以进行设置。
  3. 元素宽度在不设置的情况下和父元素的宽度一致。

内联元素

在 html 中,<span> 、<a> 、<label> 、<strong> 和 <em> 是典型的内联元素或行内(inline)元素。块状元素可以通过 display:inline 将元素设置为内联元素。

示例如下:

将块状元素 div 转换为内联元素,使 div 元素具有内联元素特点。

div{
    display:inline;
}
<div>块状元素变成内联元素</div>

内联元素特点:

  1. 和其他元素都在一行上。
  2. 元素的高度、宽度及顶部和底部边距不可设置。
  3. 元素的宽度就是它包含的文字或图片的宽度,不可改变。

内联块状元素

在 html 中,<img> 、<input> 标签是典型的内联块状标签。内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点。可以通过 display:inline-block 就是将元素设置为内联块状元素。

内联块状元素特点:

  1. 和其他元素都在一行上;
  2. 元素的高度、宽度、行高以及顶和底边距都可设置。

盒模型

原理

边框

盒子模型的边框就是围绕着内容及补白的线,可以设置边框的属性。

边框的属性:

  • 粗细
  • 样式
  • 颜色

示例如下:

为 div 设置边框粗细为 2px 、样式为实心的、颜色为红色的边框:

div{
    border:2px  solid  red;
}

<!--border 可以分开写-->\

div{
    border-width:2px;
    border-style:solid;
    border-color:red;
}

注意:

  1. border-style(边框样式)常见样式有:
    dashed(虚线)| dotted(点线)| solid(实线)。
  2. border-color(边框颜色)中的颜色可设置为十六进制颜色。
    如:border-color:#888;
  3. border-width(边框宽度)中的宽度也可以设置为:
    thin(薄)| medium(中)| thick(厚),一般还是用像素(px)进行设置。

css 样式中允许只为一个方向的边框设置样式:

示例如下:

为 p 标签单独设置下边框,而其它三边都不设置边框样式。

div{border-bottom:1px solid red;}

<!--同样可以实现其它三边(上、右、左)边框的设置:-->

border-top:1px solid red;
border-right:1px solid red; 
border-left:1px solid red;

宽度和高度

盒模型的宽度和高度是 css 内定义的宽(width)和高(height),指的是填充以里的内容范围。

盒子的宽度,即一个元素实际宽度=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。同理,一个元素实际高度=上边界+上边框+上填充+内容宽度+下填充+下边框+下边界。

示例如下:

<!--css 代码-->
div{
    width:200px;
    padding:20px;
    border:1px solid red;
    margin:10px;
}

<!--html 代码-->
<body>
   <div>文本内容</div>
</body>

则 div 元素的实际宽度度为:10px+1px+20px+200px+20px+1px+10px=262px。

在 chrome 浏览器下选中某元素调用检查功能可查看当前元素盒模型,如下图所示:
在这里插入图片描述

填充

元素内容与边框之间可以设置距离,称之为“填充”。填充顺序按照顺时针分别为上、右、下、左。

示例如下:

div{
    padding:20px 10px 15px 30px;
}

<!--padding 可以分开写-->
div{
   padding-top:20px;
   padding-right:10px;
   padding-bottom:15px;
   padding-left:30px;
}

<!--如果上、右、下、左的填充都为 10px ,可以简写为-->
div{
    padding:10px;
}

<!--如果上下填充一样为 10px ,左右一样为 20px ,可以简写为-->
div{
    padding:10px 20px;
}

边界

元素与其它元素之间的距离可以使用边界(margin)来设置。边界顺序按照顺时针分别为上、右、下、左。

示例如下:

div{
    margin:20px 10px 15px 30px;
}

<!--margin 可以分开写-->
div{
   margin-top:20px;
   margin-right:10px;
   margin-bottom:15px;
   margin-left:30px;
}

<!--如果上右下左的边界都为 10px ,可以简写为-->
div{ margin:10px;}

<!--如果上下边界一样为10px,左右一样为 20px ,可以简写为-->
div{ margin:10px 20px;}

padding 和 margin的区别:padding 在边框里,margin 在边框外。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值