CSS盒子模型

 
在页面上,我们要控制元素的位置,比如:写作文一样,开头的两个字会空两个格子(这是在学校语文作文一样),其后就不会空出来,还有,一段文字后面跟着一张图,它们距离太近,不好看,我们要移动图片,让它里文字远一点点,这时候呢,我们就可以运用到盒子的属性:内边距、外边距。
 
内边距:
 
<div>我是内边距</div>
 
我们先测试以上代码,在页面里按下 “F12”键,会弹出一个框,即是“查看源码”,我们可以看到html、css、js等等源代码,它们是以网页呈现出来的内容的格式出来的,嗯...听不懂的同学,后期会懂的,因为现在我们不需要太资深,慢慢来。 按下F12后(它可能是呈右侧或下方显示),同学们可以根据自己喜欢,调整,老师用的测试下方显示,在最右侧 有三个竖着的点,点击它就可以切换显示方位。那么我们找到了这个div元素之后,在最右下方,可以看见一个盒子,里面是一个虚线和实实线等组成的,我们可以看到,最里面,会显示两个数字相乘,因为老师电脑分辨率是1920,而这个div没有设置高度,因为内容而出现的高度是21px,所以我两个数字则显示的是:1920*21。
在它的外围,有一个padding,它的意思就是“内边距”,内边距是什么呢?我们用代码来测试效果,再来解释:
 
<div style="padding-left: 50px;">我是内边距</div>
 
这里我们给了div背景色,是因为好看出效果,不然页面白色,它本身无色,就不容易看出来效果了。这里的paddin-left的意思是,内边距距离左侧,值 50px。这里老师提醒同学们,每一个键值对 写完,都要跟一个分号(不是中文哦),分号如同是它的结束标语一样,就能分离所有的属性和值,否则会报错,没有效果。
上面这个代码,我们可以清楚的看到,div背景色变成浅灰色,然后内容距离左侧50px了,这就是内边距,是元素的内侧发生了移动改变,元素本身是不会发生改变的。
 
外边距:
 
<div style="margin-left: 50px;">我是外边距哟</div>
 
因为有背景色,所以我们可以很容易区分出,外边距和内边距的区别。在页面上,内容部分依旧是距离了浏览器左侧50px,没有发生改变,但是div的背景色是不是发生了改变,它也跟着距离浏览器左侧50px了,这就是外边距,在按下F12里,看盒子,它会在外边距 margin里写上50这个数字。外边距,它是存在 在元素外侧的,如同是管理整个元素,所以它发生改变,整个元素就会改变,而内容确实元素里的,明白了吗
 
这里我们用到的是margin(pdding)-left 意思是距离左侧,那么有左侧,也就应该有上下右,这里写一下,效果同学们自己测试咯:
margin-top  外边距 距离高          padding-left 内边距 距离高
margin-right  外边距 距离右侧     padding-right  内边距 距离右侧
margin-bottom  外边距 距离下     padding-bottom  内边距 距离下
margin-left  外边距 距离左侧        padding-left  内边距 距离左侧
 
最为明显和常用的,是top和left,调整距离,而right和bottom,很多同学可能不明白,如果你给div设置了margin-bottom 下边距,它本身不会发生改变,而是会影响到下一个元素,下一个元素就会距离它 50个px或者其他值,right也是一样,因为我们代码都是从上往下,从左往右执行,写两个元素比较一下就可以了。
 
我们在说一下,如果margin或者padding后面不跟四个方向,我们还可以这样写:
 
<div style="padding: 10px 20px 30px 40px;">内边距测试</div>
 
它会有四个值:值的顺序:top  right  bottom  left
如果换成三个值:值就会影响:第一个值:top   第二个值:left(right)  第三个值:bottom
如果换成两个值:值就会影响:第一个值:top(bottom)  第二个值;left(right)
如果换成一个值:就会直接影响四个:top  right  bottom  left
 
margin和padding两个属性值都是一样的,只是作用不一样罢了,所以懂得其中一个,另一个几乎就没问题了。
 
我们在说说,如果以上代码,将div改成span这种行级元素,会怎么样呢?老师这里给同学们提示一下,行级元素,它不能跨行,所以设置它的top和bottom是没有作用的,left和right是有作用的哦。
 
最后来说一下盒子里还有一个border(边框)
 
之前我们用table做表格,很难看,虽然是上一个tr td 对准下一个tr td,没有样式不好看,但是没有边框也不好区别,有了边框的话,使用者就会更加清晰。
 
我们来演示下给table表格加边框,其他元素也可以加边框哦,同学可以多玩玩:
 
<table>
<tr>
<th>编号</th>
<th>姓名</th>
<th>QQ</th>
</tr>
<tr>
<td>1</td>
<td>龙枫</td>
<td>563292416</td>
</tr>
<tr>
<td>2</td>
<td>過來寳貝</td>
<td>563292416</td>
</tr>
</table>
 
以上是最基本的table表格,什么都没有,大家会发现,它是根据左对齐的,所以我们不光要知道它的边框,还要清楚它的对齐方式,这里老师写的比较简单,如果是大数据,类别比较多,那就会比较乱,所以加边框是很有必要的,我们来试试效果:
 
<table style="border: 1px solid #dedede;">
<tr>
<th>编号</th>
<th>姓名</th>
<th>QQ</th>
</tr>
<tr>
<td>1</td>
<td>龙枫</td>
<td>563292416</td>
</tr>
<tr>
<td>2</td>
<td>過來寳貝</td>
<td>563292416</td>
</tr>
</table>
 
这样的话,就给table表格加了一个边框,但是我们重点不是给它加,而是给表单里的tr td加,这样的话,才能区分内容块,那么我们再改动一下添加一个,用内联来写:
 
td,th{
border: 1px solid #dedede;
}
 
这句话的意思是说,td和th两个元素,它们的边框border,值为:1px(大小) solid(实线) #dedede(颜色)。
那么我们这样做了之后,大家会发现,它的边框就是一块一块的,也不好看,这时候我们就要用到table的属性:
 
<table cellspacing="0">
 
cellspacing它的意思是,把表格里的每一个单元(td,th)间距设置为0,它默认情况下不是0,所以才有间距,我们设置成0它就会没有间距了,就不再是一小块的形式分离开一样,而是贴在一起。
还有一个属性:cellpadding这里面能看到padding内边距的意思,它就是单元(td/th)与单元内容之间的间距。
 
回到上面说的,表格里面的内容同学们也看到了,是左对齐的,有的时候我们会选择居中对齐,会更加好看或者更好管理,那么我们做一次,内容居中效果:
 
td,th{
text-align: center;
}
text代表文本内容,align则是对齐方式,那么值,选择的就是:center(居中),这里可以选择left(左对齐),right(右对齐)。效果就会直接出来了
 

第七篇 CSS盒子的更多相关文章

  1. 第七篇 css选择器实现字段解析

    CSS选择器的作用实际和xpath的一样,都是为了定位具体的元素 举例我要爬取下面这个页面的标题 In []: title = response.css(".entry-header h1& ...

  2. 每天学点前端——基础篇1:css盒子模型,绝对定位和相对定位

    什么是css盒子模型(Box Model)? W3C中解释为:规定了元素框处理元素内容.内边距.边框和外边距的方式: MDN:文档中的每个元素被描绘为矩形盒子.渲染引擎的目的就是判定大小,属性--比如 ...

  3. CSS盒子的浮动

    web前端学习笔记(CSS盒子的浮动) 在标准流中,一个块级元素在水平方向会自动伸展,直到包含它的元素的边界:而在竖直方向和兄弟元素依次排列,不能并排.使用“浮动”方式后,块级元素的表现就会有所不同. ...

  4. 前端总结·基础篇·CSS(二)视觉

    前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·CSS(四)兼容 目录 一.动画(animation)(IE ...

  5. <转>HTML+CSS总结/深入理解CSS盒子模型

    原文地址:http://www.chinaz.com/design/2010/1229/151993.shtml 前言:前阵子在做一个项目时,在页面布局方面遇到了一点小问题,于是上stackoverf ...

  6. 前端总结·基础篇·CSS(一)布局

    目录 这是<前端总结·基础篇·CSS>系列的第一篇,主要总结一下布局的基础知识. 一.显示(display) 1.1 盒模型(box-model) 1.2 行内元素(inline) &am ...

  7. 我给女朋友讲编程CSS系列(4) CSS盒子模型

    什么是CSS盒子模型?如何学习CSS的盒子模型? 这篇文章,以 [分享 + 结论]  的方式来写. 1,  看w3school的[CSS 框模型概述] 网址为: http://www.w3school ...

  8. 前端总结·基础篇·CSS

    前端总结·基础篇·CSS 1 常用重置+重置插件(Normalize.css,IE8+) * {box-sizing:border-box;}  /* IE8+ */body {margin:0;}  ...

  9. 七种CSS左侧固定,右侧自适应两栏布局

    一 两栏布局基本HTML和CSS 首先创建基本的HTML布局和最基本的样式. 基本的样式是,两个盒子相距20px, 左侧盒子宽120px,右侧盒子宽度自适应 <div class="w ...

随机推荐

  1. 警告(alert)、确认(confirm)

    我们在访问网站的时候,有时会突然弹出一个小窗口,上面写着一段提示信息文字.如果你不点击“确定”,就不能对网页做任何操作,这个小窗口就是使用alert实现的. 语法: alert(字符串或变量);注:a ...

  2. vscode+python+flake8+cmder配置

    {     "window.zoomLevel": 0,     "[python]": {},     "kite.showWelcomeNotif ...

  3. [SQL server2008筛选时报错,无法为该请求检索数据 解决方案]

    当SQL数据太多时,我们需要通过筛选来查询自己需要的数据. 当我在使用SQLserver 2008的时候 遇到了这个错误1 以下是微软提供的解决方案的网址 (SQL SERVER SP1补丁) htt ...

  4. Failed to start LSB: start and stop MariaDB

    Failed to start LSB: start and stop MariaDB */--> Failed to start LSB: start and stop MariaDB Tab ...

  5. WPF 键盘全局接收消息

    1.========================================================================== 在c#中怎样禁用鼠标左键的使用,其实我们可以通 ...

  6. 解决gradle项目每次编译都下载gradle-x.x-all.zip gradle-x.x-bin.zip

    想必有一些热爱技术的看官或者android开发人员都会接触gradle项目.中国用户每次下载都很慢,甚至狂躁(CTMD的什么人做的这种设计,每次下载都狗日慢的想死). 哦,不好意思,骂人了.不管你高不 ...

  7. 【转】Spark History Server 架构原理介绍

    [From]https://blog.csdn.net/u013332124/article/details/88350345 Spark History Server 是spark内置的一个http ...

  8. ubuntu安装成功之后需要做些什么?

    1.安装VMtool 1.1打开虚拟机之后-> 安装VMtool 1.2 点击之后,桌面就会出现一个VMtool光驱文件,如果提示光驱被占用就先用root登录 1.3在命令行挂载 sudo mo ...

  9. JavaScript数值千分位格式化的方法和性能

    瞎掰的前提 前端嘛,经常处理数值和时间. 所以数值和时间的格式化少不了. 最近一直在面试前端, 就出了一个如何给数值添加千分位的面试题. 至于答案,我一直都有一种标准, 一是基于你现有的知识可以实现, ...

  10. JavaScript基础入门08

    目录 JavaScript 基础入门08 DOM 介绍 绑定事件 给一组元素绑定事件 节点 节点树 节点类型 选取文档内容 通过id选取元素 通过指定的标签名选取元素 用指定的css类来选取元素 通过 ...