——她那么美丽,也不及你的笑
从背景图到 BOX MODEL
盒子模型听过很多次了,刚开始也马马虎虎看过,遗忘曲线不是闹着玩儿的。
今天我试着给一段文字加上背景图,有那种好看的背景图,文字看起来也很美的。
<div class="boxdemo"><p>一段简单的文字,如果它平淡无奇,还让你心起波澜,请你别忘了,就算是淡如水,也够味儿。</p></div>
这是一个div demo,之后我要给这个div加上一些属性了。
CSS规范里写的顺序,能用就用上,规范之所以为规范,是有道理的,就算你还不懂,道理还在,领悟就是了。
/*大小,文字系列,背景,其他*//*一次性写background也很舒服,*/.boxdemo {margin: 10px;padding: 10px;background: #eee url(1.jpg) no-repeat;}
盒子模型:/linjiqin/p/3556497.html
图片贴起来不方便,这个讲的就是盒子模型。
看完了吧,其实前面的代码还是可以有个背景的样子
加个border吧
.boxdemo {margin:10px;border:5px solid #aaa; /*border写在这里可以吗?*/padding: 10px;background: #eee url(1.jpg) no-repeat;/*border应该挨着background吗?*/}/*这次有了边框吧*/
确实是个盒子了,可是背景图很糟糕。图片很小(十几kb左右)
浏览器缩放时,盒子会有宽窄变化,图片却纹丝不动:
浏览器放大,盒子长而窄,图片左上角在内容区域里,右边是背景色#eee;
浏览器缩小,盒子瘦高,图片左侧一小部分在内容区域里,而下方是背景色#eee;
没错,就是背景的问题,盒子已经有了,现在去找背景的问题。
/*讲background的事情在一个声明中设置所有背景属性(我查资料:其实最多五个,剩下的还是要单独写才有效)*/background: #eee url(1.jpg) no-repeat;
这三个分别是background-color:background-image: url(path) background-repeat: repeat/no-repeat/repeat-x/repeat-y//path无需加引号//repeat按xy方向还是no可设置的五个属性里还有两个background-attachment: fixed/scroll;background-position://背景图片固定或是随着页面滚动//position的取值//1. top/bottom/center left/right/center 如果只规定了一个关键词,那么第二个值默认为"center"//2. x% y% 水平和垂直,左上角是0% 0% ,右下角是100% 100% 如果只规定了一个值,另一个默认为 50%//3. xpos ypos 同2可以混用
可见这些属性都没有提到背景图片自适应框的大小的。
w3c有的介绍很全了,注意到
background-size /*规定背景图片的尺寸*//*length: 80px 80px ,第二个值缺省默认autopercentage:以百分比设置,同lengthcover: 把背景图片扩展至足够大,以使背景图像完全覆盖背景区域。也许会导致背景图片的某些部分无法显示在背景定位区域中。contain:把背景图片扩展至最大尺寸,以使其宽度和高度完全适应内容区域。*/
这里要注意了,cover和contain的区别就在于
contain使图片始终在内容区域内,并不一定完全占满内容区域
cover完全占满内容区域
所以,在
.boxdemo {margin: 10px;border: 5px solid #aaa;padding: 10px;background: #eee url(1.jpg) no-repeat;/*important*/background-size: cover;}
这次,背景图片算是入我的眼了。
但是老动我就不想看了,固定大小一般是强硬的。
.boxdemo {width: 300px;min-height: 200px;margin: 10px;border: 5px solid #aaa;padding: 10px;background: #eee url(1.jpg) no-repeat;/*important*/background-size: cover;}/*宽度设定,高度最小为200px*/