HTML学习笔记5——盒模型

盒模型:3个距离的区分

  a: margin(外边距)

  b: border(内边距)

  c: padding(内边距)

一个盒子的大小:

  width==width+(margin-left+margin-right)+(border-left+border-right)+(padding-left+padding-right)

  height==height+(margin-top+margin-bottom)+(border-top+border-bottom)+(padding-top+padding-bottom)

注:这3个距离,若只分别定义1个,则默认在盒子的四周均生效,若想指定某一个方向的设定,可加上4个方向的定义:上、右、下、左(顺时针);

一、margin:

  1.margin的普通用法:

    例1:margin:10px;则盒子的四周的外边距都将变成10px;

           margin:10px,10px,10px,10px;  ==  margin:10px;

  注:若未定义4个方向,而是2、3个方向,则默认未定义的边与其对边的值相等;

           margin: 10px,20px;  ==  margin:10px,20px,10px,20px;

         margin:10px,20px,30px;  ==  margin:10px,20px,30px,20px;

    例2:指定某一方向:

        margin-top:20px;

        margin-left:20px;

  2.margin的特殊用法:

    1)利用margin设置,使元素水平方向自适应居中:margin:0px auto;    ——竖直方向的居中显示怎么实现???

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>margin的特殊使用</title>
 6 </head>
 7 <style type="text/css">
 8     div
 9     {
10         width:200px;
11         height: 200px;
12         background:red;
13         margin:0px auto;
14     }
15 </style>
16 <body>
17     <div>
18         i am div
19     </div>
20 </body>
21 </html>

  显示效果:

     2)margin的重叠现象研究:

      ——对于相邻的普通元素,其上下边距并非是简单的设置值的和,而是取其中较大边距值;

      ——对于float(浮动)元素,则是相加;

普通元素实例:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>margin的特殊使用</title>
 6 </head>
 7 <style type="text/css">
 8     #div1
 9     {
10         width:200px;
11         height: 100px;
12         background:red;
13         margin-bottom:50px;
14     }
15     #div2
16     {
17         width:200px;
18         height:100px;
19         background: green;
20         margin-top: 50px
21     }
22 </style>
23 <body>
24     <div id="div1">
25         i am div1,高100,下边距50;
26     </div>
27     <div id="div2">
28         i am div2,高100,上边距50;
29     </div>
30 </body>
31 </html>

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>margin的特殊使用</title>
 6 </head>
 7 <style type="text/css">
 8     #div1
 9     {
10         width:200px;
11         height: 100px;
12         background:red;
13         margin-bottom:100px;
14     }
15     #div2
16     {
17         width:200px;
18         height:100px;
19         background: green;
20         margin-top: 50px
21     }
22 </style>
23 <body>
24     <div id="div1">
25         i am div1,高100,下边距100;
26     </div>
27     <div id="div2">
28         i am div2,高100,上边距50;
29     </div>
30 </body>
31 </html>

  显示效果:

   

float 元素实例:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>margin的特殊使用</title>
 6 </head>
 7 <style type="text/css">
 8     #div1
 9     {
10         width:200px;
11         height: 100px;
12         background:red;
13         margin-right:100px;
14         float:left;
15     }
16     #div2
17     {
18         width:200px;
19         height:100px;
20         background: green;
21         margin-left: 100px;
22         float:left;
23     }
24 </style>
25 <body>
26     <div id="div1">
27         i am div1,宽200,右边距100;
28     </div>
29     <div id="div2">
30         i am div2,宽200,左边距100;
31     </div>
32 </body>
33 </html>

  显示效果:

二、border:

  1.border的3要素:

    1)width(宽):以px为单位;

    2)style(形状):solid(实线)、dashed(虚线)、dotted(点线).....actset(立体效果)

    3)color(颜色);

  2.单独设置3要素之一:

    border-style:dashed;       border-top-style:dashed;

    border-width:                   border-top-width:

    border-color:         border-top-color:

  3.利用border画出一个三角形;

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>用border画三角形</title>
 6     <style type="text/css">
 7         div
 8         {
 9             width:0px;
10             height:0px;
11             background:red;
12             border:100px solid;
13             border-top-color:white;
14             border-right-color:white;
15             border-bottom-color:yellow;
16             border-left-color:white;
17         }
18     </style>
19 </head>
20 <body>
21     <div>
22     </div>
23 </body>
24 </html>

显示效果:

  4.利用border画出一棵圣诞树;

  1 <!DOCTYPE html>
  2 <html lang="en">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title>用border画圣诞树</title>
  6     <style type="text/css">
  7         #cont
  8         {
  9             width:800px;
 10             height:800px;
 11             background: white;
 12         }
 13         #cont1
 14         {
 15             width:600px;
 16             height:100px;
 17             background: white;
 18         }
 19         #cont2
 20         {
 21             width:700px;
 22             height:100px;
 23             background: white;
 24         }
 25         #cont3
 26         {
 27             width:800px;
 28             height:100px;
 29             background: white;
 30         }
 31         #cont4
 32         {
 33             width:450px;
 34             height:500px;
 35             background: white;
 36         }
 37         #one
 38         {
 39             width:0px;
 40             height:0px;
 41             border-style:solid;
 42             border-width:0px 200px 100px 200px;
 43             border-top-color:white;
 44             border-right-color:white;
 45             border-bottom-color:green;
 46             border-left-color:white;
 47             float:right;
 48         }
 49         #two
 50         {
 51             width:0px;
 52             height:0px;
 53             border-style:solid;
 54             border-width:0px 300px 100px 300px;
 55             border-top-color:white;
 56             border-right-color:white;
 57             border-bottom-color:green;
 58             border-left-color:white;
 59             float:right;
 60         }
 61         #three
 62         {
 63             width:0px;
 64             height:0px;
 65             border-style:solid;
 66             border-width:0px 400px 100px 400px;
 67             border-top-color:white;
 68             border-right-color:white;
 69             border-bottom-color:green;
 70             border-left-color:white;
 71             float:right;
 72         }
 73         #four
 74         {
 75             width:100px;
 76             height:300px;
 77             background: grey;
 78             clear:both;
 79             float:right;
 80         }
 81     </style>
 82 </head>
 83 <body>
 84     <div id="cont">
 85         <div id="cont1">
 86             <div id="one">
 87             </div>
 88         </div>
 89         <div id="cont2">
 90             <div id="two">
 91             </div>
 92         </div>
 93         <div id="cont3">
 94             <div id="three">
 95             </div>
 96         </div>
 97         <div id="cont4">
 98             <div id="four">
 99             </div>
100         </div>
101     </div>
102 </body>
103 </html>

显示效果:

三、padding

  1.基本用法同margin;

  2.无法给padding赋颜色。padding与背景的颜色是一致的,即当设置了背景色以后,再加上padding后,着色区域会变大;

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>padding使用</title>
 6 </head>
 7 <style type="text/css">
 8     #nopadding
 9     {
10         width:100px;
11         height: 100px;
12         background:grey;
13     }
14     #padding
15     {
16         width:100px;
17         height: 100px;
18         background:grey;
19         padding:50px;
20     }
21 </style>
22 <body>
23     <div id="nopadding">
24         i‘m no padding
25     </div>
26     <div id="padding">
27         i‘m with padding
28     </div>
29 </body>
30 </html>

  显示效果(content 同为100px,100px):

    

    

时间: 2024-10-10 09:51:33

HTML学习笔记5——盒模型的相关文章

V-rep学习笔记:机器人模型创建2—添加关节

下面接着之前经过简化并调整好视觉效果的模型继续工作流,为了使模型能受控制运动起来必须在合适的位置上添加相应的运动副/关节.一般情况下我们可以查阅手册或根据设计图纸获得这些关节的准确位置和姿态,知道这些信息以后就可以通过[Menu bar --> Add --> Joints --> ...]来添加关节了, 之后可以通过位置和姿态对话框来调整关节位置姿态.在之前写过的V-rep学习笔记:曲柄摇杆机构中就是按照这种方式添加的关节. 如果我们有机器人的DH参数表也可以使用VREP中的工具来生成

V-rep学习笔记:机器人模型创建3—搭建动力学模型

接着之前写的V-rep学习笔记:机器人模型创建2-添加关节继续机器人创建流程.如果已经添加好关节,那么就可以进入流程的最后一步:搭建层次结构模型和模型定义(build the model hierarchy and finish the model definition).但是想要进行动力学仿真(碰撞.接触.自由落体...)的话,还需要进行额外的一些操作: Building the dynamic shapes VREP中几何体的属性可以分为: dynamic or static: 具有动态属性

操作系统学习笔记----进程/线程模型----Coursera课程笔记

操作系统学习笔记----进程/线程模型----Coursera课程笔记 进程/线程模型 0. 概述 0.1 进程模型 多道程序设计 进程的概念.进程控制块 进程状态及转换.进程队列 进程控制----进程创建.撤销.阻塞.唤醒.... 0.2 线程模型 为什么引入线程 线程的组成 线程机制的实现 用户级线程.核心级线程.混合方式 1. 进程的基本概念 1.1 多道程序设计 允许多个程序同时进入内存运行,目的是为了提高CPU系统效率 1.2 并发环境与并发程序 并发环境: 一段时间间隔内,单处理器上

《CSS3实战》笔记--弹性盒模型(三)

通过阅读和学习书籍<CSS3实战>总结 <CSS3实战>/成林著.-北京机械工业出版社2011.5 box-pack和box-align属性 ??当弹性元素和非弹性元素混合排版时,有可能会出现所有子元素的尺寸大小或小于盒子的尺寸,从而出现盒子空间不足或者富余的情况,这时就需要一种方法来管理盒子的空间.如果子元素的总尺寸小于盒子的尺寸,则可以使用box-align和box-pack属性进行管理. ??box-pack属性可以在水平方向上对盒子的富余空间进行管理,该属性的基本语法如下:

Dubbo -- 系统学习 笔记 -- 示例 -- 线程模型

Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 线程模型 事件处理线程说明 如果事件处理的逻辑能迅速完成,并且不会发起新的IO请求,比如只是在内存中记个标识,则直接在IO线程上处理更快,因为减少了线程池调度. 但如果事件处理逻辑较慢,或者需要发起新的IO请求,比如需要查询数据库,则必须派发到线程池,否则IO线程阻塞,将导致不能接收其它请求. 如果用IO线程处理事件,又在事件处理过程中发起新的IO请求,比如在连接事件中发起登录请

学习CSS布局 - 盒模型

盒模型 在我们讨论宽度的时候,我们应该讲下与它相关的另外一个重点知识:盒模型. 当你设置了元素的宽度,实际展现的元素却超出你的设置: 这是因为元素的边框和内边距会撑开元素. 看下面的例子,两个相同宽度的元素显示的实际宽度却不一样. 看看代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>盒模型</title

SpringMVC:学习笔记(4)——处理模型数据

SpringMVC-处理模型数据 说明 SpringMVC 提供了以下几种途径输出模型数据: – ModelAndView: 处理方法返回值类型为 ModelAndView时, 方法体即可通过该对象添加模型数据 – Map及Model:入参为org.springframework.ui.Model.org.springframework.ui.ModelMap 或 Java.uti.Map 时,处理方法返回时,Map中的数据会自动添加到模型中. – @SessionAttributes: 将模型

IOS开发学习笔记027-UITableView 使用模型对象

1.模型对象 继续优化上一个程序 上一次用到字典,但是坏处多多.这里将这些数据封装到类中. 这就是MVC中得模型,模型就是数据的显示结构 新建一个类,添加几个属性和一个类方法用于快速返回对象 1 #import <Foundation/Foundation.h> 2 3 @interface Province : NSObject 4 // UI控件用weak 5 // nsstring 用copy 6 7 8 @property (nonatomic,copy) NSString *head

《ASP.NET MVC 4 实战》学习笔记 11:模型绑定器与值提供器

一.创建自定义模型绑定器: 利用请求数据塑造模型对象并将对象传递给动作参数的过程称为模型绑定(Model Binding). 大多数时候动作参数是对象的主键或其他唯一标识符,因此我们可以不必在所有的动作中都放置一段重复的数据访问代码(下面代码“\\Before”部分),而是使用一个自定义的模型绑定器(下面代码“\\After”部分).它能够在动作执行之前加载存储对象,于是动作不再以唯一标识符而是以持久化的对象类型作为参数. // Before public ViewResult Edit (Gu