CSS盒子模型与背景图片

可爱金江勋
——她那么美丽,也不及你的笑


从背景图到 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;
}

盒子模型:http://www.cnblogs.com/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 ,第二个值缺省默认auto
    percentage:以百分比设置,同length
    cover: 把背景图片扩展至足够大,以使背景图像完全覆盖背景区域。也许会导致背景图片的某些部分无法显示在背景定位区域中。
    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*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值