前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >框模型

框模型

作者头像
十月梦想
发布于 2018-08-29 02:26:12
发布于 2018-08-29 02:26:12
71900
代码可运行
举报
文章被收录于专栏:十月梦想十月梦想
运行总次数:0
代码可运行

框模型(盒子模型)

   1. 框模型(box model)定义了元素框

    处理内容,外边距,内边距,边框的方式

    框:页面元素皆为框

    <a>sss</a>

    <div>ewrewr</div>

    内容区域的

       width:宽

       height:高

    增加了内外边距和边框不会影响内容区域的大小,

        但是会改变元素框的大小

     元素框的实际宽度:width+左右外边距+左右border边框+左右内边距

     元素框的实际高度:height+上下外边距+上下边框+上下内边距

    2.外边距

        1.围绕在元素周围的空白区域,

            默认是不能被其他元素所占据

        2.作用

            主要是用来拉开元素之间的距离

        3.属性

            margin:20px;

            单边设置

            margin-方向

                top:

                right:

                bottom:

                left:

            取值

                1.  px

                2.  %

                3.  auto  自动

                4.  负值

        4.取负值

            让元素反方向移动

            通常只设置

                margin-top:负值

                margin-left:负值

        5.auto

            能自动计算外边距(左右)

            特点:

                控制 非行内元素 水平居中的使用

                      input 

                前提:必须加宽和高

        6.外边距简便写法

            margin:值;       代表4个方向

            margin: 值1    值2;  

                    上下   左右

            margin:值1     值2    值3;

                    上     左右   下

            margin:值1     值2    值3   值4;

                    上      右     下    左

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<html lang="en">
<head>

<style>
body{border:1px solid black;}
div{
width:200px;
height:200px;
background-color: yellowgreen;
/*margin:30px; */ /* margin:值默认四个方向*/
margin:10px 50px 40px; /*三个值分别是 (10px)上 左右(20px) 下(40px)*/
/*margin:10px 20px;*/
 /*两个值表示 (10px)上下的值 (20px)左右的值*/
 /*    margin:10px 20px 40px 50px    */
 /*    四个值表示:上 右 下 左方向    */

}
.d1{

width:200px;
height:80px;
background-color: blue;
margin:0;
}

</style>
</head>
<body>
<div></div>
<div class="d1"></div>
<a href="">行元素</a>
</body>
</html>

     注意:top:正值元素向下移动,bottom:正值向上运动,right:正值向左运动,left:正值向右移动;负值与正值方向移动相反。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
style>
#d1{width:500px;
height: 500px;
border:1px solid gray;}
#d1>div{
width:200px;
height:200px;
background-color: yellowgreen;
margin-top:50px;/*元素下移50px*/
margin-bottom:100px;/*元素上移100px*/
margin-left:200px;/*元素友移200px*/
margin-right:500px;/*元素左移500px*/
}
</style>

   7.具有默认外边距的标记

            body,h1-h6,ul,ol,dl,dd,p都有默认的外边距

            通过css重写的方式统一

                body,h1,h2,h3,h4,h5,h6,p,ol,ul,dl,dd,dt{

                     margin:0;

                }

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<style>body,h1,h2,h3,h4,h5,h6,p,ol,ul,dl,dd,dt{
margin:0;
}</style>
</head>
<body>
<h1>我是h1</h1>
<h2>我是h2</h2>
<h3>我是h3</h3>
<h4>我是h4</h4>
<h5>我是h5</h5>
<h6>我是h6</h6>
<ul>
<li>one</li>
<li>1</li>
</ul>
<ol>
<li>你好</li>
<li>hello</li>
</ol>
<dl>
<dt>一二三四五</dt>
<dd>六七八九十</dd>

</dl>
</body>
</html>

      body,h1-h6,ul,ol,dl,dd,p都有一定的外边距(margin)  可以通过css统一将外边距去除。

 8.特殊情况

            1.外边距合并

                当两个垂直外边距相遇时,会合并成一个外边距

                合并后的外边距高度是两个外边距中最大的那个值

            2.外边距溢出

                子债父还

                在特定情况下,给子元素设置边距时,

                   效果会作用到父元素身上

                特定情况

                    1.上下外边距  会产生溢出

                    2.父元素没有设置边框,并且设置

                        第一个子元素的上外边距

                        或者

                        给最后一个元素设置下外边距

特殊情况1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#d1{width:500px;
height:500px;
background-color: yellow;
margin-bottom: 200px;}
#d2{width:500px;
height:500px;
background-color: green;
margin-top: 20px;}/* 垂直时候外边距一致只默认一次,如果不同默认值比较大的*/
</style>
</head>
<body>
<div id="d1"></div>
<div id="d2"></div>

     特殊情况2:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#d1{width:200px;
height:100px;
background-color: yellow;
margin-bottom: 200px;}
#d2{width:200px;
height:100px;
background-color: green;
margin-top: 20px;}
#d3{
width:300px;
height:228px;
background-color: black;


}
p{width:150px;
height:108px;
background-color: goldenrod;
margin-top:30px;

}
</style>
</head>
<body>
<div id="d1"></div>
<div id="d2"></div>
<div id="d3">
<p></p>
</div>
</body>

      此情况下,给p(子元素)标记进行设置外边距则 d3(父元素)会跟随进行移动,margin的效果则作用在父元素上。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#d3{
width:300px;
height:228px;
background-color: black;
border: 1px solid green;

  给d3(父元素)加上border则可解决问题,父元素则不会受影响。

解决方案

                    1.给父元素添加一个边框

                    2.由父元素的内边距来取代子元素的外边距

        9.注意

            1.上下(margin-top/magin-bottom)外边距 对行元素无效

            2.上下(margin-top/magin-bottom)外边距,对行内块元素有特殊的效果

                (一行都会受到影响)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<style>
input{margin-top:100px;} 行内块元素使用则整行元素都会被作用,不管改行的行元素或者块元素。
/* a {margin-top:100px;}*/  a标记外边距无效果,不能作用于行元素


</style>
</head>
<body>
<a href="">我是超链接标记</a>
<input type="text">
</body>
</html>

   3.内边距

        内容区域离边框的距离

        扩大内边距会影响整个盒子的大小

        语法

            padding:值;

            padding:值  代表四个方向

            padding:值1   值2;

                     上下  左右

            padding:值1  值2   值3;

                     上   左右  下

            padding:值1   值2   值3  值4;

                     上   右     下   左

        注意

            内边距的效果只会影响本身

用法与外边距margin类似,但是内边距的内容区域不影响,影响的内容区域与边框的距离。

padding(内边距)的实际作用如下图:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-11-1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux 的 awk 命令教程手册,建议收藏!
Linux 的 awk 命令相信不少人都用过,但是真正研究它的人应该不多。因为,我们多数人都是面向百度编程的。今天我们抽个时间,简单的来说一下它。
业余草
2020/02/14
1.9K0
Linux 的 awk 命令教程手册,建议收藏!
强大的文本分析工具,awk入门【Programming】
Awk是Unix和类似Unix系统下功能强大的文本分析工具,但是因为它具有可用于执行常见解析任务的编程函数,因此也被视为一种编程语言。 您可能不会使用awk开发下一个GUI应用程序,也不会改变您的默认脚本语言,但是在特定任务下它可以成为十分强大且实用的程序。这些任务可能是多种多样的。想要知道哪些问题可以使用awk的最好方法就是学习awk。之后您会惊讶地发现使用awk后将会令工作事半功倍。
Potato
2019/11/09
9460
强大的文本分析工具,awk入门【Programming】
awk学习笔记
awk是一种模式扫描和处理工具,相对于grep的查找,sed的编辑,它在对数据进行分析生成报表时显得尤为强大。awk通过逐行遍历一个或多个 文件的方式,查找模式匹配到的行,而后以指定的分隔符(缺省为空格)进行切片,然后针对切片数据进行处理和分析。事实上,gawk有自己的语言,其本身就 相当于一个解释器,允许用户创建简短的程序读取输入文件,对输入数据执行排序、计算以及生成报表操作,甚至可以类似bash shell实现诸如循环、数组、条件判断、函数、变量等功能,进而完成更为复杂的数据分析处理任务。
小小科
2018/05/02
1.9K0
awk学习笔记
Linux awk 命令
AWK是一种处理文本文件的语言,是一个强大的文本分析工具。之所以叫AWK是因为其取了三位创始人Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。
狼啸风云
2019/11/03
4.3K0
Linux awk命令详细教程
AI摘要:本文详细介绍了Linux下的文本处理工具awk的使用方法,包括其语法、选项参数、内置变量、常用操作(如打印、条件判断、循环等)以及一些实用的示例。awk通过将文本按行读取并以指定的分隔符分割成多个字段,使得对文本的处理变得灵活高效。文章还提供了如何打印指定列、过滤日志、按条件统计、指定多个分隔符、日志切割、匹配指定列和统计文件大小等实际应用示例,以及一个统计nginx日志数据的awk脚本示例。通过这些内容,读者可以全面掌握awk命令的强大功能,有效地应用于日志分析、数据处理等场景。
曈曈too
2024/03/16
4400
Linux 下 Awk 命令及示例
AWK 是一个通用脚本语言,主要设计用来对文本进行高级处理。它最常用于报告和分析工具。
雪梦科技
2020/05/09
1.6K0
Linux 下 Awk 命令及示例
Awk,一行程序和脚本,帮助您对文本文件进行排序【Programming】
Awk是一种Unix命令,用于扫描和处理包含可预测模式的文本。然而,因为它具有函数功能,所以它也被称为编程语言。
Potato
2019/11/09
1.6K0
Awk,一行程序和脚本,帮助您对文本文件进行排序【Programming】
linux awk命令详解
简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。 awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己
千往
2018/01/24
2.9K0
shell脚本快速入门之-----正则三剑客之三awk用法大全!!!
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义 函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方 式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标 准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。awk分别代表其作者姓氏的第一个字母。因为它的作者是三个人,分别是Alfred Aho、Brian Kernighan、Peter Weinberger。gawk是awk的GNU版本,它提供了Bell实验室和GNU的一些扩展。
不吃小白菜
2020/09/03
1.1K0
Awk学习笔记
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。awk分别代表其作者姓氏的第一个字母。因为它的作者是三个人,分别是Alfred Aho、Brian Kernighan、Peter Weinberger。gawk是awk的GNU版本,它提供了Bell实验室和GNU的一些扩展。下面介绍的awk是以GUN的gawk为例的,在linux系统中已把awk链接到gawk,所以下面全部以awk进行介绍。
一见
2019/03/14
2.5K0
linux中的awk命令详解
关于awk脚本,我们需要注意两个关键词BEGIN和END。 BEGIN{ 这里面放的是执行前的语句 } END {这里面放的是处理完所有的行后要执行的语句 } {这里面放的是处理每一行时要执行的语句} 假设有这么一个文件(学生成绩表):
全栈程序员站长
2022/09/08
1.5K0
linux中的awk命令详解
三十分钟学会AWK
本文大部分内容翻译自我开始学习AWK时看到的一篇英文文章 AWK Tutorial ,觉得对AWK入门非常有帮助,所以对其进行了粗略的翻译,并对其中部分内容进行了删减或者补充,希望能为对AWK感兴趣的小伙伴提供一份快速入门的教程,帮助小伙伴们快速掌握AWK的基本使用方式,当然,我也是刚开始学习AWK,本文在翻译或者补充的过程中肯定会有很多疏漏或者错误,希望大家能够帮忙指正。
用户2131907
2019/02/27
1.6K0
awk 简单使用教程
之前我一直使用 Python 来处理 Linux 的一些文本,但是对于一些大文本的简单处理,Python 麻烦而且慢,于是现在慢慢改用awk来处理,很多时候一行命令就能解决,因此非常方便。针对使用是过程的一些心得,写个小小的教程,awk太强大了,需要慢慢长时间的学习,我尽量保持更新这个教程吧。
泽霖
2023/11/28
2380
Linux | awk 命令「建议收藏」
awk 是一个强大的文本分析工具,相对于grep 的查找,sed的编辑,awk 在其对数据分析并生成报告时,显得非常强大,awk 其实是一门语言,”格式扫描和处理语言“,它允许您创建简短的程序,这些程序读取输入文件 ,为数据排序,处理数据,对输入执行计算以及生成报表等。
全栈程序员站长
2022/09/06
7810
AWK 深入浅出教程
---- 概述 awk是一门解释性文本处理语言,它在文本处理领域中非常强大和方便。awk有三个主要的类型是: AWK - 原先来源于 AT & T 实验室的的AWK. NAWK - AT & T 实验
吕海峰
2018/04/03
1.5K0
AWK 深入浅出教程
再见了!linux、awk。。
Linux、shell,很多初学者可能非常陌生,但是对于算法、数据、大数据相关的同学,这个又是一个不可避免的学习内容~
Python编程爱好者
2023/12/12
3370
再见了!linux、awk。。
一天一个 Linux 命令(21):awk 命令
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/151
joshua317
2021/10/09
2.1K0
awk工具详解
它是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描、过滤、统计汇总工作数据可以来自标准输入也可以是管道或文件
全栈程序员站长
2022/09/07
3.1K0
awk工具详解
简明AWK实战教程
AWK是一个强大的格式化文本处理工具,一般在类Unix操作系统中都是必带的工具(Linux、Mac OS),因此,使用无需安装,非常的方便与便捷。
流川枫
2018/09/12
1.8K0
简明AWK实战教程
Linux命令(36)——awk命令
AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
恋喵大鲤鱼
2018/08/03
2.4K0
相关推荐
Linux 的 awk 命令教程手册,建议收藏!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验