2025年3月31日 星期一 乙巳(蛇)年 正月初一 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Html+Div+Css(前端)

CSS盒子模型

时间:07-14来源:作者:点击数:23

1 盒子模型的介绍

在这里插入图片描述

2 内容区域的宽度和高度

在这里插入图片描述

3 边框( border )

在这里插入图片描述
在这里插入图片描述
3.1 案例:新浪导航案例
在这里插入图片描述
  • <!DOCTYPE html>
  • <html lang="en">
  • <head>
  • <meta charset="UTF-8">
  • <meta http-equiv="X-UA-Compatible" content="IE=edge">
  • <meta name="viewport" content="width=device-width, initial-scale=1.0">
  • <title>Document</title>
  • <style>
  • .box {
  • height: 40px;
  • border-top: 3px solid #ff8500;
  • border-bottom: 1px solid #edeef0;
  • }
  • /* 后代: box里面的a */
  • .box a {
  • width: 80px;
  • height: 40px;
  • /* 推荐先加上: 清楚的看到文字在什么位置 */
  • /* background-color: #edeef0; */
  • display: inline-block;
  • text-align: center;
  • line-height: 40px;
  • font-size: 12px;
  • color: #4c4c4c;
  • text-decoration: none;
  • }
  • .box a:hover {
  • background-color: #edeef0;
  • color: #ff8400;
  • }
  • </style>
  • <!-- 从外到内 : 先宽高背景色, 放内容, 调节内容的位置; 控制文字细节 -->
  • </head>
  • <body>
  • <div class="box">
  • <a href="#">新浪导航</a>
  • <a href="#">新浪导航</a>
  • <a href="#">新浪导航</a>
  • <a href="#">新浪导航</a>
  • </div>
  • <p>
  • <a href="#"></a>
  • </p>
  • </body>
  • </html>

4 内边距( padding )

在这里插入图片描述
在这里插入图片描述
4.1 盒子实际大小计算公式
在这里插入图片描述
4.2 padding不会撑大盒子的特殊情况
  1. 如果子盒子没有设置宽度,此时宽度默认是父盒子的宽度
  2. 此时给子盒子设置左右的padding或者左右的border,此时不会撑大子盒子
4.3 CSS3盒模型
在这里插入图片描述
  • <!DOCTYPE html>
  • <html lang="en">
  • <head>
  • <meta charset="UTF-8">
  • <meta http-equiv="X-UA-Compatible" content="IE=edge">
  • <meta name="viewport" content="width=device-width, initial-scale=1.0">
  • <title>Document</title>
  • <style>
  • div {
  • width: 100px;
  • height: 100px;
  • background-color: pink;
  • border: 10px solid #000;
  • padding: 20px;
  • /* 內减模式 */
  • /* 变成CSS3的盒子模型, 好处: 加了border和padding不需要手动减法 */
  • box-sizing: border-box;
  • }
  • </style>
  • </head>
  • <body>
  • <div>文字</div>
  • </body>
  • </html>

5 外边距(margin)

在这里插入图片描述
在这里插入图片描述

6 清除默认内外边距

在这里插入图片描述
  • <!DOCTYPE html>
  • <html lang="en">
  • <head>
  • <meta charset="UTF-8">
  • <meta http-equiv="X-UA-Compatible" content="IE=edge">
  • <meta name="viewport" content="width=device-width, initial-scale=1.0">
  • <title>Document</title>
  • <style>
  • * {
  • margin: 0;
  • padding: 0;
  • }
  • </style>
  • </head>
  • <body>
  • <p>pppp</p>
  • <p>pppp</p>
  • <h1>h1</h1>
  • <ul>
  • <li>lili</li>
  • </ul>
  • </body>
  • </html>

7(案例)网页新闻列表案例

在这里插入图片描述
  • <!DOCTYPE html>
  • <html lang="en">
  • <head>
  • <meta charset="UTF-8">
  • <meta http-equiv="X-UA-Compatible" content="IE=edge">
  • <meta name="viewport" content="width=device-width, initial-scale=1.0">
  • <title>Document</title>
  • <style>
  • * {
  • margin: 0;
  • padding: 0;
  • /* 所有的标签都可能添加内边距或border, 都內减模式,宽高固定 */
  • box-sizing: border-box;
  • }
  • .news {
  • width: 500px;
  • height: 400px;
  • border: 1px solid #ccc;
  • margin: 50px auto;
  • padding: 42px 30px 0;
  • }
  • .news h2 {
  • border-bottom: 1px solid #ccc;
  • font-size: 30px;
  • /* 行高是1倍, 就是字号的大小 */
  • line-height: 1;
  • padding-bottom: 9px;
  • }
  • /* 去掉列表的符号 */
  • ul {
  • list-style: none;
  • }
  • /* li {} */
  • .news li {
  • height: 50px;
  • border-bottom: 1px dashed #ccc;
  • padding-left: 28px;
  • line-height: 50px;
  • }
  • .news a {
  • text-decoration: none;
  • color: #666;
  • font-size: 18px;
  • }
  • </style>
  • </head>
  • <body>
  • <!-- 从外到内 -->
  • <div class="news">
  • <h2>最新文章/New Articles</h2>
  • <ul>
  • <li><a href="#">北京招聘网页设计,平面设计,php</a></li>
  • <li><a href="#">北京招聘网页设计,平面设计,php</a></li>
  • <li><a href="#">北京招聘网页设计,平面设计,php</a></li>
  • <li><a href="#">北京招聘网页设计,平面设计,php</a></li>
  • <li><a href="#">北京招聘网页设计,平面设计,php</a></li>
  • </ul>
  • </div>
  • </body>
  • </html>

8 外边距折叠现象

8.1 合并现象
在这里插入图片描述
  • <!DOCTYPE html>
  • <html lang="en">
  • <head>
  • <meta charset="UTF-8">
  • <meta http-equiv="X-UA-Compatible" content="IE=edge">
  • <meta name="viewport" content="width=device-width, initial-scale=1.0">
  • <title>Document</title>
  • <style>
  • div {
  • width: 100px;
  • height: 100px;
  • background-color: pink;
  • }
  • .one {
  • /* margin-bottom: 50px; */
  • margin-bottom: 60px;
  • }
  • .two {
  • margin-top: 50px;
  • }
  • </style>
  • </head>
  • <body>
  • <div class="one">11</div>
  • <div class="two">22</div>
  • </body>
  • </html>
8.2 塌陷现象
在这里插入图片描述
  • <!DOCTYPE html>
  • <html lang="en">
  • <head>
  • <meta charset="UTF-8">
  • <meta http-equiv="X-UA-Compatible" content="IE=edge">
  • <meta name="viewport" content="width=device-width, initial-scale=1.0">
  • <title>Document</title>
  • <style>
  • .father {
  • width: 300px;
  • height: 300px;
  • background-color: pink;
  • /*方式1:给父元素设置border-top 或者 padding-top(分隔父子元素的margin-top),如果设计稿没有border, 不能使用这个解决办法*/
  • /* padding-top: 50px; */
  • /* border: 1px solid #000; */
  • /*方式2:给父元素设置overflow:hidden*/
  • overflow: hidden;
  • }
  • .son {
  • width: 100px;
  • height: 100px;
  • background-color: skyblue;
  • margin-top: 50px;
  • /*方式3:设置成行内块元素*/
  • /*display: inline-block;*/
  • }
  • </style>
  • </head>
  • <body>
  • <div class="father">
  • <div class="son">son</div>
  • </div>
  • </body>
  • </html>

9 行内元素的margin和padding无效情况

在这里插入图片描述

可以使用line-height设置行高。

  • <!DOCTYPE html>
  • <html lang="en">
  • <head>
  • <meta charset="UTF-8">
  • <meta http-equiv="X-UA-Compatible" content="IE=edge">
  • <meta name="viewport" content="width=device-width, initial-scale=1.0">
  • <title>Document</title>
  • <style>
  • span {
  • /* margin: 100px; */
  • /* padding: 100px; */
  • line-height: 100px;
  • }
  • </style>
  • </head>
  • <body>
  • <!-- 行内元素 内外边距 margin padding -->
  • <!-- 如果想要通过margin或padding改变行内标签的垂直位置, 无法生效 -->
  • <!-- 行内标签的margin-top和bottom 不生效 -->
  • <!-- 行内标签的padding-top或botttom 不生效 -->
  • <span>span</span>
  • <span>span</span>
  • </body>
  • </html>
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门