CSS3------盒模型

news2025/8/2 17:39:33

盒模型

每个标签在浏览器上都被渲染成一个矩形个盒子,这个盒子有一个标准都组成结构,我们称为标准盒模型

盒模型构成

 

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>盒模型基本构成</title>
<style>
.box{
/* 内容区域大小 */
width: 100px;
height: 100px;
/* 盒子边界/边框 */
border:1px solid red ;
/* 内边距 :
内容到边界之间到距离
内容:width height(写在文档中标签中的部分)
边 : border设置的区域
padding: 1值=>代表四个方向设置相同的内边距
2值=> 上下 左右
3值=> 上 左右 下
4值=> 上 右 下 左(顺时针)
top right bottom left
padding-top:单独设置上内边距
padding-right:单独设置右内边距
padding-bottom:单独设置下内边距
padding-left:单独设置左内边距
*/
padding: 10px 20px 30px 40px;
/* padding-top: 10px; */
margin:10px 20px 30px 40px; //居中显示0 auto
/*
盒模型基本结构:
内容区域: (content) width height
所有的写在标签中的内容,只出现在这个区域
内边距区域: padding设置
设置的是一个盒子的边框到内容区域之间的距离可以扩大盒子
边界区域: border所设置都区域,边框
外边距区域: margin设置
设置的是两个盒子之间的距离。
盒子在界面上的渲染大小
宽度 = width + 左右的padding + 左右border
高度 = height + 上下的padding + 上下的border
*/
}
/* 内边距 */
</style>
</head>
<body>
<div class="box">内容</div>
</body>
</html>
内容: width height ,写在文档中标签中的部分所占的宽和高 content
内边距 padding 内容到边界之间到距离
(1)padding:
  • 1=>代表四个方向设置相同的内边距 padding:5
  • 2=> 上下 左右
  • 3=> 左右
  • 4=> 左(顺时针)
(2)top right bottom left
  • padding-left: 5px;
border 设置的区域
外边距 margin 定义方式和 padding 一致
盒子在界面上的渲染大小
  • 宽度 = width + 左右的padding + 左右border
  • 高度 = height + 上下的padding + 上下的border
margin 的作用:通过 margin 来移动盒子
  (1)默认布局情况下,页面的盒子排列是按照从左到右,从上到下的
(2)水平方向:
  • margin-left:将盒子自身向右推
  • margin-right:盒子自身不动,将水平方向上的相邻盒子向右推
(2)垂直方向:
  • margin-top:将盒子自身向下推
  • margin-bottom:盒子自身不动,将垂直方向上的相邻盒子向下推
padding 内边距是用来改变内容位置,由于默认页面的布局方向是从上到下,从左到右的
(1)垂直方向上:
  • padding-top:盒子上边界不动,将内容向下推
  • padding-bottom: 内容不动,盒子下边界向下移动,远离内容
(2)水平方向上 :
  • padding-left :盒子左边界不动,将内容向右推
  • padding-right: 内容不动,盒子右边界向右移动,远离内容

盒模型之margin

margin 的作用:通过 margin 来移动盒子
默认布局情况下,页面的盒子排列是按照从左到右,从上到下的
(1)水平方向:
  • margin-left:将盒子自身向右推
  • margin-right:盒子自身不动,将水平方向上的相邻盒子向右推
(2)垂直方向:
  • margin-top:将盒子自身向下推
  • margin-bottom:盒子自身不动,将垂直方向上的相邻盒子向下推
通过 chrome 浏览器的调试功能详细说明如下:
margin-left :将盒子自身向右推

 margin-right:盒子自身不动,将水平方向上的相邻盒子向右推

 margin-top:将盒子自身向下推

 margin-bottom:盒子自身不动,将垂直方向上的相邻盒子向下推

嵌套情况下的margin起点问题

嵌套情况下子级盒子的 margin 特点
  • 移动方式与平级盒子一样
  • 移动的起点是从父级内容区域开始的,与父级的paddingborder没有关系

嵌套情况的margin外边距坍塌问题

  • 在垂直方向上,当父级没有明确的边界时border-top,padding-top,border-bottom,paddingbottom,父级中的第一个子级的margin-top会传递给父级,导致父级跟子级一起向下移动父级中的最后一个子级的margin-bottom会传递给父级,导致无法撑开父级高度
  • 外边界坍塌问题出现在chrome firefox opera safari IE9以上浏览器中
  • 解决办法:给父级添加边界(border padding
盒模型之 padding
padding 内边距是用来改变内容位置,由于默认页面的布局方向是从上到下,从左到右的
(1)垂直方向上:
  • padding-top:盒子上边界不动,将内容向下推
  • padding-bottom: 内容不动,盒子下边界向下移动,远离内容
(2)水平方向上 :
  • padding-left :盒子左边界不动,将内容向右推
  • padding-right: 内容不动,盒子右边界向右移动,远离内容
chrome 浏览器调试功能所见如下:
padding-left: 盒子左边界不动,将内容向右推

 padding-right:内容不动,盒子有边界向右移动远离内容

 padding-top:盒子上边界不动,将内容向下推

 padding-bottom:内容不动,盒子下边界向下移动远离内容

marginpadding总结

margin padding 都可以改变超文本位置
  • margin是通过改变盒子位置,让盒子带着超文本移动
  • padding是通过改变盒子边界到盒子内容之间的距离,来推着超文本移动
使用时候要根据效果图来判断使用哪个属性进行位置改变
  • 当没有明确边界渲染时,marginpadding都可以使用
  • 当有明确边界渲染时,如果盒子之间有间隙,使用margin。如果盒子之间没有间隙,使用padding

块级元素和内联元素

Html 组件的盒模型可以分为 block inline 两种。
  • 常见的块级元素有DIVFORMTABLEPPREH1~H6OLUL
  • 常见的内联元素有SPANASTRONGEMLABELINPUTSELECTTEXTAREAIMGBR等。
display:block
  • block元素会独占一行,多个block元素会各自新起一行。默认情况下,block元素宽度自动填满其父元素宽度
  • block元素可以设置width,height属性。块级元素即使设置了宽度,仍然是独占一行
  • block元素可以设置marginpadding属性
display:inline
  • inline元素不会独占一行,多个相邻的行内元素会排列在同一行里,直到一行排列不下,才会新换一行,其宽度随元素的内容而变化
  • inline元素设置width,height属性无效。
  • inline元素的marginpadding属性,水平方向的padding-left, padding-right, margin-left, margin-right都产生边距效果;但竖直方向的padding-top, padding-bottom, margin-top, margin-bottom不会产生边距效果
display:inline-block
  • 简单来说就是将对象呈现为inline对象,但是对象的内容作为block对象呈现。之后的内联对象会被排列在同一行内。比如我们可以给一个link(a元素)inline-block属性值,使其既具有block的宽度高度特性又具有inline的同行特性。

position用法

position 属性指定一个元素(静态的,相对的,绝对或固定)的定位方法的类型

 

<style>
h2.pos_left {
position:relative;
left:-20px;
}
h2.pos_right {
position:relative;
left:20px;
}
</style>
<h2>这是位于正常位置的标题</h2>
<h2 class="pos_left">这个标题相对于其正常位置向左移动</h2>
<h2 class="pos_right">这个标题相对于其正常位置向右移动</h2>
<p>相对定位会按照元素的原始位置对该元素进行移动。</p>
<p>样式 "left:-20px" 从元素的原始左侧位置减去 20 像素。</p>
<p>样式 "left:20px" 向元素的原始左侧位置增加 20 像素。</p>

 

CSS3边框

border-style 值: none 默认无边框; dotted 点线边框; dashed 虚线边框; solid: 实线边框
阴影: box-shadow: 10px 10px 5px #888888;
border-radius 属性可以给任何元素制作圆角

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/35040.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MM小贴士】物料主数据的中止与后继(2)

【日常吐槽】项目要上线了&#xff0c;70w的物料主数据导完了&#xff0c;有一部分小伙伴被隔离了&#xff0c;没人陪我玩&#xff0c;所以再补充几点日常blog。 很久以前发票了一篇博客&#xff0c;是关于物料主数据的中止与后继&#xff0c; 前期的blog可以参考【MM小贴士】…

Euler diagram

An Euler diagram (/ˈɔɪlər/, OY-lər) is a diagrammatic means of representing sets and their relationships. They are particularly useful for explaining complex hierarchies and overlapping definitions. They are similar to another set diagramming techniqu…

使用css形变实现一个立方体

关于 Nuxt.js 2016 年 10 月 25 日&#xff0c;zeit.co 背后的团队对外发布了 Next.js &#xff0c;一个 React 的服务端渲染应用框架。几小时后&#xff0c;与 Next.js 异曲同工&#xff0c;一个基于 Vue.js 的服务端渲染应用框架应运而生&#xff0c;我们称之为&#xff1a;…

速卖通跨境智星,速卖通合理补单技法

1、测评的用途   提升店铺信誉等级和好评&#xff0c;最重要的是提升产品权重和搜索排名&#xff0c;因为如果产品没有曝光&#xff0c;就没有流量&#xff0c;当然当有了权重和搜索排名&#xff0c;好评也是必不可少的。 2、爆款打造   很多新人在测评的时候会关注店铺排名…

Git版本控制工具使用

文章目录1. CICD系统构成和流程1.1 CICD来源及概念1.2 Git版本控制系统2. Git操作和使用git config (基本配置操作)git clone <repo URL\> (创建仓库|拷贝已有仓库)git branch (分支相关操作- 创建|查看|删除)git checkout (操作文件和分支)git add/commit (提交和修改-保…

Unity导入URDF模型(turtlebot3 waffle pi为例)

本篇文章介绍Unity下如何导入机器人的URDF模型&#xff0c;主要参考官方教程&#xff1a;https://github.com/Unity-Technologies/Unity-Robotics-Hub/blob/main/tutorials/urdf_importer/urdf_tutorial.md   关于导入的机器人模型选择了turtlebot3 waffle pi作为示例 1.Uni…

Sa-Token

介绍 类似于Security的认证授权的解决方案&#xff0c;但是使用起来非常方便&#xff0c;1.支持登录认证&#xff0c;授权权限验证&#xff0c;踢人&#xff1b;2.支持自定义Token&#xff0c;并且能够结合Redis完成前后端分离认证方案&#xff1b;3.支持单点登录&#xff08;…

柯桥成人英语培训机构哪家好,新陈代谢到底是什么?

新陈代谢到底是什么? Metabolism is a combination of biochemical processes that your body uses to convert food into energy. These metabolic processes include breathing, eating and digesting food, the delivery of nutrients to your cells through the blood, th…

【Linux】(四)VS Code远程开发方式-实验室服务器使用VS Code远程开发

VS code 方式系列文章一、服务器情况简介1.1服务器及用户1.2 cuda1.3 conda环境二、VS code连接使用说明2.1 下载VS code2.2 配置2.3 调试文件附录&#xff1a;VS code调试复杂配置公共数据集系列文章 &#xff08;一&#xff09;服务器初次配置及安装vncserver &#xff08;二…

磨金石教育摄影技能干货分享|古风人像拍摄要注意哪些问题

古风人像与普通人像的拍摄略有不同&#xff0c;有三个要素需要做好准备。服装、妆容、道具。 服装有不少考究&#xff0c;不同的服装有不同的风格&#xff0c;侠士、温婉、清新、可爱等等&#xff0c;今天我们要拍摄的主题风格是侠女。所以选择的是魏晋风汉服。 妆 容 妆容也是…

【无人机】基于PID控制器和A星算法实现无人机路径规划附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

生鲜电商十年:如何撞破盈利难墙?谁在竞速突围?

生鲜电商已十年。 这十年间&#xff0c;无数资本和公司前赴后继&#xff0c;试图探索出一条持续盈利路径&#xff0c;并完成商业模式的持续迭代&#xff0c;然而成功者寥寥。 这么大规模、长时间的摸索&#xff0c;在整个互联网行业都较为少见。一是因为它足够难&#xff0c;…

神经网络和深度学习-反向传播back propagation代码

反向传播back propagation代码 再简单模型中&#xff0c;按照下图的神经网络来完成模型的训练 在复杂的模型当中&#xff0c;输入&#xff0c;权重&#xff0c;隐藏层的数量都是很多的&#xff0c;例如下图中&#xff0c;输入x有5个神经元&#xff0c;第一层隐藏层h中有6个神经…

Rust China Hackathon 2022 达坦科技组空中宣讲会来啦!

Rust China Hackathon 2022 即将来袭&#xff01; 本届Hackathon的主题为「Rust For Fun」&#xff0c;分为「社区组」与「企业组」。 达坦科技作为本届Hackathon的协办方&#xff0c;赞助参与本次企业组赛道&#xff0c;将基于Xline这个开源项目&#xff0c;就Concurrent Inde…

【linux】物理磁盘挂载目录——(分区、格式化、重启自动挂载)

大家好&#xff0c;我是好学的小师弟&#xff01; 现有一全新的物理磁盘需要挂载到某个目录下&#xff0c;操作步骤如下。 目录 一、磁盘分区 二、磁盘格式化 三、磁盘挂载 四、重启自动挂载 注意点: 1.该目录要存在&#xff0c;不存在的话需手动mkdir创建 2.该目录需要为…

IMS各网元的主要功能

文章目录用户注册时&#xff1a; 手机发出一个注册消息到他所在的拜访地的P。 比如&#xff0c;他是山西太原的用户&#xff0c;他这时候到了北京&#xff0c;那么这个时候&#xff0c;他要注册到IMS网络里面的话&#xff0c;这个P-CSCF就是北京的P-CSCF&#xff0c;这个北京的…

[附源码]java毕业设计游戏账号交易平台

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【零基础入门MyBatis系列】第十一篇——动态SQL

一、概述 &#x1f4d6; 1、什么是动态SQL&#xff1f; 根据不同条件生成不同的SQL语句&#xff0c;是mybatis的一大优势。用于动态拼接SQL语句 &#x1f4d6; 2、如何实现动态SQL&#xff1f; mybatis 为我们提供了一些标签&#xff0c;在写SQL语句的时候&#xff0c;合理…

Qt | QListView、QListWidget、QTableView、QTableWidget的使用示例及区别

Qt | QListView、QListWidget、QTableView、QTableWidget的使用示例及区别 目录Qt | QListView、QListWidget、QTableView、QTableWidget的使用示例及区别1、简介2、使用示例1、QListView2、QTableView3、QListWidget4、QTableWidget1、简介 QListView、QListWidget是列表形式…

Maven安装配置

Maven安装配置 第一步 : 解压 解压 apache-maven-3.6.1.rar 既安装完成 解压缩后的目录结构如下&#xff1a; bin目录 &#xff1a; 存放的是可执行命令。mvn 命令重点关注。conf目录 &#xff1a;存放Maven的配置文件。settings.xml 配置文件后期需要修改。lib目录 &#xf…