[CSS]《CSS揭秘》第二章——背景与边框

半透明边框

    border:10px solid hsla(0,0%,100%,.5);
    background: white;
    background-clip: padding-box;

clipboard.png

相关语法:
    background-clip: border-box|padding-box|content-box;

多重边框

box-shadow方案
    box-shadow: 0 0 0 10px red,
                0 0 0 15px green,
                0 2px 5px 20px white;

clipboard.png

*:需要注意的是,上面所创建的边框是伪边框,并不响应鼠标事件。

outline方案(仅可创建双重边框)
    border: 5px solid red;
    outline: 10px solid green; 

clipboard.png

背景定位

background-position方案
    background: url(2.jpg) no-repeat;
    width: 100%;
    height: 100%;
    background-position: right 10px bottom 10px;

clipboard.png
*:只有background-image时,需要设置基础大小,不然不会显示,因为背景图片不会撑开div。

background-origin方案

clipboard.png

background-position默认是以padding-box为准,通过background-origin可以设置为content-box。

calc方案
background: url(2.jpg) no-repeat;
background-position: calc(100% - 10px) calc(100% - 10px);

*:calc以左上角为基准。
**:calc里的加减运算负前后必须有空格,这是为了向前兼容。

边框内圆角

    color: white;
    background:black;
    border-radius: .8em;
    padding: 1em;
    box-shadow: 0 0 0 .6em red;
    outline: .6em solid red;

clipboard.png

条纹背景

水平条纹
background:linear-gradient(gray 30%,pink 70%);//渐变
background:linear-gradient(gray 30%,pink 30%);//不渐变

*:如果我们把第二个色标的位置值设置为 0, 那它的位置就总是会被浏览器调整为前一个色标的位置值。

clipboard.png

clipboard.png

垂直条纹(重复)
    background:linear-gradient(90deg,red 50%,blue 0);
    background-size:  50% 100%;

clipboard.png

斜向条纹
background:repeating-linear-gradient(60deg,#fb3 0px,#fb3 15px,#58a 15px,#58a 30px);//角度,条纹1的渐变颜色1 起点,条纹1的渐变颜色2 终点,条纹2的渐变颜色1 起点,条纹2的渐变颜色2 终点;

clipboard.png

同色系条纹
    background:#58a;
    background-image: repeating-linear-gradient(30deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.1),15px,transparent 0,transparent 30px);

clipboard.png

复杂的背景图案

网格
    background:#58a;
    background-image: linear-gradient(90deg,rgba(200,0,0,.5) 50%,transparent 0),linear-gradient(rgba(200,0,0,.5) 50%,transparent 0);
    background-size: 30px 30px;

clipboard.png

波点
    background:#655;
    background:radial-gradient(tan 30%,transparent 0),radial-gradient(tan 30%,transparent 0);;
    background-size: 30px 30px;
    background-position: 0 0 ,15px 15px;

clipboard.png

*:为了达到效果,第二层的偏移量必须为贴片宽度的一半。

图像边框

连续的图像边框
    padding: 1em;
    border: 1em solid transparent;
    background: linear-gradient(white,white),url(./2.jpg);
    background-size: cover;
    background-clip: padding-box,border-box;
    background-origin: border-box;

clipboard.png

*:background-clip 属性规定背景的绘制区域。

复古信封
    padding: 1em;
    border: 16px solid transparent;
    border-image: 16 repeating-linear-gradient(-45deg,red 0,red 1em,transparent 0,transparent 2em,#58a 0,#58a 3em,transparent 0,transparent 4em);

clipboard.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值