发表于: 2017-03-01 00:28:28
1 1362
今日完成:
1.完成了中关村互联网教育学院项目的方案评审。
2.在禅道上完成了中关村互联网教育学院的task拆分。
3.完成哪些css属性可以设置百分比,其计算原则是什么?PTT
1.背景介绍
CSS 的属性值中经常会出现百分比,并且百分比是实现页面自适应很重要的一种方法。但是有哪些属性可以用百分比来进行设置呢?设置的原则又是什么呢? box为父元素,box1为子元素 box为父元素,box1为子元素 height:基于包含它的块级对象的百分比高度。width:基于包含它的块级对象的百分比宽度。 margin,padding:百分数是相对于父元素的 width 计算的。 浏览器默认字体大小为16px,我们一般默认font-size=62.5%,但也可以根据浏览器窗口大小利用媒体查询进行适当调整。 em有继承特性,存在重复声明的情况,所以我们一般不建议采用。 rem根据html中font-size的声明进行使用,不存在重复声明,建议使用。 利用媒体查询和字体的百分比设置。 绝对定位的包含块 定位属性的百分比的参考系是包含块。关于包含块(containing block)的概念,不能简单地理解成是父元素。如果是静态定位和相对定位,包含块一般就是其父元素。但是对于绝对定位的元素,包含块应该是离它最近的 position 为 absolute、relative、或者 fixed 的祖先元素。 box为父元素,box1为子元素,box2为子元素 对固定定位的元素,它的包含块是视口(viewport)。 参考一:css样式的设置 参考二:CSS 属性之中经常出现的百分比 参考三:W3School2.知识剖析
可以使用百分比的样式属性
2.1定位属性
body {width: 1000px;height:800px;}
.box {width: 500px;height: 300px;border: 2px solid yellow;position: relative;}
.box1 {width: 100px;height: 60px;border: 2px solid red;position: absolute;top:20%;right:20%;}
2.2盒模型属性:height,width,margin,padding;
body {width: 1000px;height:800px;}
.box {width: 500px;height: 300px;border: 2px solid yellow;padding-top:10%;}
.box1 {width: 100px;height: 60px;border: 2px solid red;}
2.3背景属性:background-position;
2.4文本属性:text-indent,line-height,vertical-align;
<div>
<p>text-indent 定义基于父元素宽度的百分比的缩进。当外层不指定宽度时,ie下会基于浏览器宽度。line-height 定义基于元素的字体大小。<span>vertical-align </span>定义基于元素的行高。</p>
</div>
div { width: 500px; height: 300px;border: 2px solid yellow;}
p{text-indent: 20%; font-size: 20px; line-height:200%;}
span { vertical-align: 50%;}
2.4文本属性:text-indent,line-height,vertical-align;
2.5字体属性:font-size.
3.常见问题
4.解决方案
@media screen and (max-width:1280px){ html{font-size:62.5%;} }
@media screen and (max-width:800px){ html{font-size:39%; } }
@media screen and (max-width:640px){ html{font-size:31.25%; } }
5.代码实战
6.拓展思考
定位属性的包含块一定是父元素吗?
body {width: 1000px;height:800px;}
.box {width: 500px;height: 300px;border: 2px solid yellow;}
.box1 {width: 100px;height: 60px;border: 2px solid red;position: absolute;top:20%;right:20%;}
固定定位的包含块
body {width: 1000px;height:800px;}
.box {width: 500px;height: 300px;border: 2px solid yellow;position: relative;}
.box1 {width: 100px;height: 60px;border: 2px solid red;position: absolute;top:20%;right:20%;}
.box2 {width: 100px;height: 60px;border: 2px solid blue;position: fixed;top:20%;right:20%;}
7.参考文献
8.更多讨论
为什么margin和padding的包含块都是width呢?
明日计划:
继续完成中关村XX项目的首页和java模板
遇到的问题:
项目部分资料不太全。
今日收获:
对项目到方案评审-需求拆分 过程稍微熟悉了。
评论