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. tensorflow源码分析——BasicLSTMCell

    BasicLSTMCell 是最简单的LSTMCell,源码位于:/tensorflow/contrib/rnn/python/ops/core_rnn_cell_impl.py.BasicLSTMC ...

  2. 软件-效率:Microsoft To Do

    ylbtech-软件-效率:Microsoft To Do Microsoft To Do To Do 让你从工作到娱乐都保持专注. 1.返回顶部 1. 智能每日计划 使用“我的一天”,用智能个性化建 ...

  3. Selenium 2自动化测试实战22(处理HTML5的视频播放)

    一.处理HTML5的视频播放 大多数浏览器使用控件(如Flash)来播放视频,但是,不同的浏览器需要使用不同的插件.HTML5定义了一个新的元素<video>,指定了一个标准的方式来嵌入电 ...

  4. Vue调试工具vue-devtools安装详解

    https://blog.csdn.net/github_37360787/article/details/80284418

  5. Sass简单使用

    Sass是成熟.稳定.强大的CSS预处理器,而SCSS是Sass3版本当中引入的新语法特性,完全兼容CSS3的同时继承了Sass强大的动态功能. 特性概览 CSS书写代码规模较大的Web应用时,容易造 ...

  6. Python——PYQT:控件基本使用

    QtGui.QComboBox控件常用函数: .addItem(string) #添加字符串项到Item .addItems(list) #添加列表或元组元素到Item .clear() #清除所有I ...

  7. xaml 中 引用嵌套类的对象

    public class MotorType1 { public class MotorType2 { public class MotorType3 { /// <summary> // ...

  8. 【转】Linux curl命令详解

    [From]https://www.cnblogs.com/duhuo/p/5695256.html 命令:curl 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一 ...

  9. Jenkins 有用的API

    /quietDown: Put Jenkins in a Quiet mode, in preparation for a restart. In that mode Jenkins don’t st ...

  10. 使用Nginx压缩文件、设置反向代理缓存提高响应速度

    Gzip压缩: 最开始,这个竟然要6m多(大到不寻常),响应的速度3分多钟. 所以先对返回的文件进行gzip压缩.判断返回的资源是否有使用gzip压缩,观察响应头部里面,如果没有 Content-En ...