HTML5 | 0 2 9 - C3框模型

仅仅掌握、的元素定位方式,是不能制作出精良性感的 Web 页面滴!

必须要掌握元素本身的内容显示方式,即,江湖传说中的 CSS 框模型

框模型往往又被称为盒模型、盒子模型。

他决定了元素的内容、内外边距、边框的设置。

内容区域

先来创建一个最原始的 box :

本大人乃盒子大仙

效果图:

我们创建了一个类名为 box 的 div 元素。

div 里面只有一个 h1 标题,所以整个页面才会显得空空如也~

现在设置一些基本的样式,将 body、div、h1 分别设置为三种渐变样蓝色(字体颜色大全)

#BBFFEE、#00FFFF、#00AAAA,就是三个背景色。

为了更加方便理解边距饿,我们设置 body 为绝对定位,否则会引起容器塌崩。。。

不会没关系,这个是 CSS 中的 BFC 机制,有兴趣自行百度,不做延伸。

body{

color: #FFF;

background:#BBFFEE;

position: relative;

.box{

background: #00FFFF;

position: absolute;

h1{

background: #00AAAA;

效果图:

看到颜色的划分了不,最大的是 body 背景色 #BFE

然后叠加,盒子模型的 #0FF。

最顶层就是 h1 的 #0AA。

内外边距

内边距,padding;外边距,margin

之前,我们在介绍过属性值的不同,代表含义不同。

我们为了演示,只用一个属性值,代表四个变量。

先设置内边距,padding,修改 h1 代码:

h1{

background: #00AAAA;

padding: 33px;

效果图:

看到了吗,h1 的文字到第一层背景色的外延距离变大了,且长度都是 33px。

文字不在紧贴自己的背景色边缘了,之间的距离就是内边距。

现在,设置h1的外边距,margin:

h1{

background: #00AAAA;

padding: 33px;

margin: 33px;

效果图:

h1 到第二层背景色的底边缘距离就是 margin,外边距。

margin,也可以设置为,负值

margin: -33px;

效果图:

因为外边距为负数,意味着第二层隐藏在 h1 中了

边框

边框 border,也用过好几次了。这次解释下:

h1{

background: #00AAAA;

padding:33px;

margin:33px;

border:6px solid #000;

效果图:

边框位于内外边距的中间,宽度为 6px 的黑线。

内容、内外边距、边框之间的大小关系

现在,让我们综合提升下,padding 设置为 20px、border 设置为 5px、margin20px。

h1 标签的宽度,120*120px。

h1{

width:120px;

height: 120px;

background: #00AAAA;

padding:20px;

margin:20px;

border:5px solid #000;

效果图:

我们设置的 h1 宽高 120*120px,根本没有对 padding、margin、boder 有影响。

width 对应的范围是:

5+20+120+20+5+20 = 170px

这就是出现一个很尴尬的地方,当我们为一个可视化区域设置宽高时,并不是可视化区域宽高。

而是,加上 border、padding 的距离。

一次可以算,两次可以算,n 次后。。。

就不好说了。。。

所以为了,设置宽高就是可视化区域的宽度

就设置 box-sizing 属性为 border-box。

h1{

box-sizing: border-box;

效果图:

为啥,字体会出来?

因为现在设置高度为 120px,可视化高度就是 border + padding + h1 = 120px。

最后 h1,内容宽度只有 70,所以会出来。

这样我们为元素设置什么样的宽高,元素就显示为相应的尺寸。

这样就不用老让设计师计算了。

默认将所有块状元素的 box-sizing 属性值都设置为 border-box。

如果喜欢本系列HTML帖子

3.5 CSS文本阴影

3.2 CSS文本对齐

内容整理:李志远

text-align 属性规定元素中的文本的水平对齐方式。

该属性通过指定行框与哪个点对齐,从而设置块级元素内文本的水平对齐方式。

值描述

left

把文本排列到左边。默认值:由浏览器决定。

right

把文本排列到右边。

center

把文本排列到中间。

justify

实现两端对齐文本效果。

inherit

规定应该从父元素继承 text-align 属性的值。

举例:



    
        
        3.2 CSS文本对齐
    
    
    
        

人之初

        

人之初,性本善。性相近,习相远。苟不教,性乃迁。教之道,贵以专。子不学,非所宜。幼不学,老何为。玉不琢,不成器。人不学,不知义。

        

王应麟 〔宋代〕

    

运行后如图:

第二个值 justify 可以使文本的两端都对齐。在两端对齐文本中,文本行的左右两端都放在父元素的内边界上。然后,调整单词和字母间的间隔,使各行的长度恰好相等。在中文字体中显示可能不是很明显,英文会有一个明显对比,例如:



    
        
        3.2 CSS文本对齐
    
    
    
        

If you wish to succeed, you should use persistence as your good friend,experience as your reference, prudence as your brother and hope as your sentry.如果你希望成功,当以恒心为良友,以经验为参谋,以谨慎为兄弟,以希望为哨兵。

显示效果如图:

从图上我们可以看到文字两端都是对齐的,如果取消p的两端对齐,看看是什么效果:

说明:两端对齐这个属性值在打印或者英文网站,外贸网站中常会用到,平时我们用到还是很少的。

李志远

如果缘分安排我们相遇,请不要让她擦肩而过。扫一扫二维码,加我为好友吧!

本站内容来自用户投稿,如果侵犯了您的权利,请与我们联系删除。联系邮箱:835971066@qq.com

本文链接:http://news.xiuzhanwang.com/post/3027.html

发表评论

评论列表

还没有评论,快来说点什么吧~

友情链接: