CSS揭秘读书笔记 (一)
CSS揭秘读书笔记 (一)
一、半透明边框
- 要想实现半透明边框可以使用border:
border: 10px solid hsla(0,0%,100%,.5);
background:white;
background-clip:padding-box;
① hsla:h是色调,取值范围是0-360。s是饱和度,取值范围是0%-100%。l是亮度,取值范围是0%-100%。a是透明度,取值范围是0-1。
② background-clip:用于调整背景图的显示区域,有3个值,border-box:背景图延伸在边框后面。padding-box:背景图不出现在内边距区域,不出现在边框后面。content-box:背景图只出现在内容后面,不出现在内边距和边框后面。

二、多重边框
- 使用box-shadow(支持IE9),即多重投影:
background:yellow;
box-shadow: 0 0 0 10px #655,
0 0 0 15px deeppink,
0 2px 5px 15px rgba(0, 0, 0, .6);

2. 使用outline(支持IE8):
outline:与border类似但是不占空间,即不会被算入元素的高宽中。但这种解决方案只适用于双层边框,而且边框不一定会贴合border-radius属性产生的圆角
background-color: greenyellow;
border: 10px solid #655;
outline: 5px solid deeppink;

三、灵活的背景定位
我们可以通过指定背景图片对任意角的偏移量来灵活的展现背景,背景下载图片地址:http://csssecrets.io/images/code-pirate.svg
1. 以下代码使得背景图片永远处于内容的最右下角,而不是背景颜色的最下角,位置可以随padding的改变而改变。
padding: 30px;
background: url(../img/code-pirate.svg) no-repeat right bottom #58a;
background-origin: content-box; // 使用内容宽度

2. 使用calc()方案,部分支持IE。
以下代码会使图片定位在距离背景颜色的右边20px,距离底部10px。记住在calc函数中运算符号两边必须有空格,否则会错误。
padding: 30px;
background: url(../img/code-pirate.svg) no-repeat #58a;
background-position: calc(100% - 20px) calc(100% - 10px);

四、边框内圆角
- 使用两个元素达成效果
<div class="something-meaningful ">
<div>
我有一些很好看的内部圆边,外部直边不是吗?
</div>
</div>
.something-meaningful {
width: 15rem;
height: 5rem;
background-color: #655;
padding: .8rem;
}
.something-meaningful>div {
background: tan;
border-radius: .8rem;
padding: 1rem;
}

2. 使用1个元素达成效果,同时使用outline和box-shadow来达成效果,其中描边的取值至少是border-radius值的(√2 – 1),因为(√2 – 1) < 0.5 ,所以可以直接取一半,以下面代码为例,box-shadow和-outline的值至少要是0.4rem,我取了0.6rem。
<div class="something-meaningful">
我有一些很好看的内部圆边,外部直边不是吗?
</div>
.something-meaningful {
width: 15rem;
height: 5rem;
background-color: #655;
background: tan;
border-radius: .8rem;
padding: 1rem;
outline: .6rem solid #655;
box-shadow: 0 0 0 .6em #655;
}

五、条纹背景
1. 横向条纹:
.linear-gra {
background: linear-gradient(#fb3 30%,#58a 30%,#58a 60%,greenyellow 0);
}
可以使用0来减少重复输入,因为如果某个色标的位置值比整个列表中在他之前的色标位置值都小,则该色标的位置会被设置为他前面所有色标位置值的最大值。

2. 垂直条纹:加一个90deg
.linear-gra {
background: linear-gradient(90deg, #fb3 30%, #58a 30%,#58a 60%,greenyellow 0);
}

3. 60度间隔条纹背景:
.linear-gra {
background: repeating-linear-gradient(60deg,#fb3,#fb3 15px,#58a 0,#58a 30px);
}
可以使用repeating-linear-gradient 来进行重复,色标是无限循环的

4. 30度同色系条纹背景:
.linear-gra {
background: #58a;
background-image: repeating-linear-gradient(30deg, hsla(0, 0%, 100%, .1),hsla(0, 0%, 100%, .1) 15px,transparent 0, transparent 30px);
}
同色系的条纹可以使用hsla来进行简化

CSS揭秘读书笔记 (一)的更多相关文章
- css 揭秘-读书笔记
css 揭秘 [希]Lea verou 著 css 魔法 译 该书涵盖7大主题,47个css技巧,是css进阶必备书籍,开阔思路,探寻更优雅的解决方案.这本书完全用css渲染出的html写成的(布局. ...
- css揭秘读书笔记
currentColor属性让hr和段落相同的颜色: div { color: red; } hr { background: currentColor; /* 一定要设置高度*/ height: 0 ...
- 《CSS揭秘》笔记(一)
前言 我们在现代 CSS 中所面临的挑战已经不在于如何绕过这些转瞬即逝的浏览器 bug.如今的挑战是,在保证 DRY ① .可维护.灵活性.轻量级并且尽可能符合标准的前提下,把我们手中的这些CSS特性 ...
- Spring揭秘 读书笔记 三 bean的scope与FactoryBean
本书可作为王富强所著<<Spring揭秘>>一书的读书笔记 第四章 BeanFactory的xml之旅 bean的scope scope有时被翻译为"作用域&quo ...
- spring揭秘 读书笔记 二 BeanFactory的对象注册与依赖绑定
本文是王福强所著<<spring揭秘>>一书的读书笔记 我们前面就说过,Spring的IoC容器时一个IoC Service Provider,而且IoC Service Pr ...
- spring揭秘 读书笔记 一 IoC初探
本文是王福强所著<<spring揭秘>>一书的读书笔记 ioc的基本概念 一个例子 我们看下面这个类,getAndPersistNews方法干了四件事 1 通过newsList ...
- 《精通CSS》读书笔记(一)
最近新添16本书,目前开始看陈剑瓯翻译的<精通CSS——高级Web标准解决方案>(Andy Budd, CSS Mastery -- Advanced Web Standards Solu ...
- spring揭秘 读书笔记 二 BeanFactory的对象注冊与依赖绑定
本文是王福强所著<<spring揭秘>>一书的读书笔记 我们前面就说过,Spring的IoC容器时一个IoC Service Provider,并且IoC Service Pr ...
- 《Two Days DIV + CSS》读书笔记——CSS选择器
1.1.2 CSS选择器 CSS 选择器最基本的有四种:标签选择器.ID 选择器.类选择器.通用选择器. [标签选择器] 一个完整的 HTML 页面由很多不同的标签组成,而标签选择器,则是决定哪些标签 ...
随机推荐
- Kindeditor为什么提交后获取不到值
LinkButton不是表单提交方式所以获取不到.如果用button submit提交方式就是form提交方式后台就能获取到值 取得编辑器的HTML内容.KindEditor的可视化操作在新创建的if ...
- Vmware /CentOS访问Windows中的文件
1.将该文件设为共享文件夹 2.确定你的windows IP地址,用户名及密码 3.CentOS终端输入以下内容: [root@*** mnt]# mkdir winD [root@*** m ...
- css3 进度条
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>1 ...
- XHTML跟HTML的区别
其实二者并没有什么区别,只是THTML的要求更加严格,比如说 1.XHTML 元素必须被正确地嵌套. 错误:<p><span>this is example.</p> ...
- sql server 2000通过机器名可以连,通过ip连不上的问题
客户那边两台服务器A和B,之前一直都是好好的,今天因为换了网络环境,结果数据库之间不能相互访问了. 目前只能A访问B,B访问不了A,在服务器A上面试了,通过ip连本机,也是连接超时. 开始想着是服务器 ...
- hihocode 1077 : RMQ问题再临-线段树
#1077 : RMQ问题再临-线段树 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上回说到:小Hi给小Ho出了这样一道问题:假设整个货架上从左到右摆放了N种商品,并 ...
- 一些有意思的APP
1.简书:一个优雅的写作/阅读平台. 2.知乎:知识分享社区: 3.behance:设计者的圈子: 4.海词词典:电脑.手机同步查询的好帮手(电脑端快捷键:双击 Alt 弹出/关闭查询框,非常方便) ...
- Jade之Interpolation
Interpolation jade为不同的需求提供了一些特殊的操作符.详见Github = 将右边的值赋予左边,或者替换为右边变量的值. //- 赋值,js格式即可. - var title = & ...
- Jade之注释
注释 jade注释可以保留在编译后生成的html中,也可以不保留. jade: // 这个会保留下来 p Hello //- 这个不会保留 p World html: // 这个会保留下来 <p ...
- 模板短信接口调用java,pythoy版(一) 网易云信
说明 短信服务平台有很多,我只是个人需求,首次使用,算是测试用的,故选个网易(大公司). 稳定性:我只测试了15条短信... 不过前3条短信5分钟左右的延时,后面就比较快.... 我只是需要发短信,等 ...