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. koa 基础(十四)cookie 的基本使用

    1.app.js /** * cookie的简介: * 1.cookie保存在浏览器客户端 * 2.可以让我们用同一个浏览器访问同一个域名的时候共享数据 * * cookie的作用: * 1.保存用户 ...

  2. 在jdk7下慎用String.intern()作为synchronized的对象锁

    有一段这样的代码: for (int i = 0; i < 10000000; i++) { ("bluedavy" + i).intern(); if(i % 100 == ...

  3. Bootstrap-CSS:目录

    ylbtech-Bootstrap-CSS:目录 1.返回顶部 1.   2. 2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部 1.   2.   6.返回顶部   7.返回顶部 ...

  4. 代码实现将键盘录入的数据拷贝到当前项目下的text.txt文件中,键盘录入数据当遇到quit时就退出

    package com.looaderman.test; import java.io.FileNotFoundException; import java.io.FileOutputStream; ...

  5. [java][转]安装ADT的时候,提示“Cannot complete the install because one or more required items could not be

    今天在安装ADT的时候,提示“Cannot complete the install because one or more required items could not be found.  S ...

  6. C基础知识(4):指针--p=&a和*p=a的区别详解

    对于*p,[p = &a]和[*p = a]的区别详解 (1) p=&a就是用a的地址对p赋值,&p不改变,变的是p (2) *p=a就是把p所指向的那一内存空间的值赋值为a, ...

  7. django实现利用mailgun进行收发邮件

    django窗口类运用和邮件收发 运用django窗口类来完成表单html 1 具体你看网址: https://www.cnblogs.com/guguobao/p/9322027.html 利用窗口 ...

  8. 【LeetCode】打家劫舍系列(I、II、III)

      打家劫舍(House Robber)是LeetCode上比较典型的一个题目,涉及三道题,主要解题思想是动态规划,将三道题依次记录如下: (一)打家劫舍 题目等级:198.House Robber( ...

  9. 【DSP开发】回马枪要你命 德州仪器发布最强ARM芯片Keystone II

    之前许多传闻称德州仪器将会彻底放弃OMAP系列ARM处理器,从此离开手持设备的江湖.如果你信以为真,那可就太小看德州仪器这个老狐狸了--要知道德州仪器诞生的比Intel都还早几年.三小时前,德州仪器宣 ...

  10. C++学习笔记-构造函数和析构函数

    构造函数和析构函数是C++的重要组成部分,了解构造函数和析构函数有助于深入了解C++ 构造函数 构造函数产生的原因 在C++中,有时候需要在对象创建的时候初始化数据,如果采用普通函数的话,每次初始化都 ...