CSS3笔记
CSS视口单位快速入门:https://juejin.im/post/590091c81b69e60058b715c5?utm_medium=hao.caibaojian.com&utm_source=hao.caibaojian.com CSS3奇思妙想,使用CSS3实现各类图形:http://chokcoco.github.io/magicCss/html/index.html#pesudo 制作CSS图片:https://segmentfault.com/a/1190000008627248 CSS3渐变生成器:http://www.colorzilla.com/gradient-editor/ 腾讯CSS3动画制作工具:http:http://isux.tencent.com/css3/tools.html CSS3动画实用技巧教程:http://www.html5cn.org/article-7806-1.html CSS3 UI 库:http://css3lib.alloyteam.com/ CSS3为图片添加hover的CSS库:http://webres.wang/css-libraries-for-adding-image-hover-effects/?utm_source=top.caibaojian.com/98081&from=weibo.com/kujian CSS3 :hover时的各种效果:http://linxz.github.io/CSS_Skills/demo/other/about_hover_pseudo_class.html CSS3渐变效果:http://www.w3cplus.com/content/css3-gradient CSS3 3D旋转效果:http://www.w3cplus.com/css3/css3-3d-transform.html CSS3加载进度提示效果:http://www.html5cn.org/article-6458-1.html CSS3动画库:http://speckyboy.com/2015/09/09/css-animation/ CSS3百叶窗图片切换:http://www.html5cn.org/article-6860-1.html CSS3制作圆环进度动画效果:http://caibaojian.com/css3-round.html?wb CSS3 clip-path裁剪各种形状:http://bennettfeely.com/clippy/ 字体下载和转换:http://www.dafont.com/ http://www.fontsquirrel.com/tools/webfont-generator 高效CSS选择器编写注意事项:http://web.jobbole.com/35339/ 炫酷CSS3复选框checkbox样式美化效果:http://www.html5cn.org/article-8755-1.html jquery+css3圆环百分比进度条制作:http://caibaojian.com/jquery-circular-progress.html?wb select原生控件修饰器:http://aui.github.io/popupjs/doc/selectbox.html http://caibaojian.com/css-select-2.html?wb 判断浏览器是否支持css3的属性 var element = document_create Element ('div'); if('text-overflow' in element.style){ element.style['text-overflow'] = 'ellipsis'; return element.style['text-overflow'] === 'ellipsis'; } else{ return false; }
为容器的四个内边距添加相同的数值(15px),但是容器内的文字让上下两边的内边距显得比左右两边更大一些。容器看起来并不协调。究其原因就是在水平方向上字体形状更加连贯,导致我们的眼睛认为垂直方向上的多余空间都是内边距。因此,我们在垂直方向上减少内边距,才能让四边的内边距看起来一致。
inherit 可以被应用到任何的 CSS 属性上,并且会根据父级元素的属性计算出恰当的值(如果是伪元素,那么就会根据当前元素属性来计算)。比如,让表单元素和页面其他元素具有相同的字体,无需一一指定,直接使用 inherit。
当属性值相互关联时,应该在代码中体现它们的关联性,使代码更具有维护性。 比如font-size和line-height之间的关联,子元素使用em继承父元素font-size等。 background:rgba(0,0,0,0.6) //前面三个数值分别代表R,G,B数值,最后一个数值代表透明度,它和opacity属性的区别是:父容器的opacity会影响子元素的透明度,而rgba不会影响。 完美兼容各浏览器的办法:http://www.cnblogs.com/PeunZhang/p/4089894.html http://www.zhangxinxu.com/wordpress/2010/05/rgba 或者 .class { filter:progid:DXImageTransform.Microsoft.gradient(enabled='true',startColorstr='#CCFFFFFF', endColorstr='#99000000');
}
:root .class {
filter:none; /*处理IE9浏览器中的滤镜效果*/
background-color:rgba(0,0,0,0.6);
}
border-radius: 35px 25px 30px 20px / 35px 25px 15px 30px; 如果斜杠/前后都设了值,那么斜杠前面的值就设定横向的圆角半径值,而斜杠后面的值就是设定纵向的半径值。如果没有斜杠的话,就把横向跟纵向的值设定为相等。
对于p:nth-child(2)选择器,意味着选择一个元素如果:
1、这是个段落元素
2、这是父标签的第二个子元素
对于:nth-of-type(2)选择器,意味着选择一个元素如果:
1、选择父标签的第二个段落子元素(限制条件少些)
参考博客:http://www.zhangxinxu.com/wordpress/2011/06/css3%E9%80%89%E6%8B%A9%E5%99%A8nth-child%E5%92%8Cnth-of-type%E4%B9%8B%E9%97%B4%E7%9A%84%E5%B7%AE%E5%BC%82/
box-flex //属性规定框的子元素是否可伸缩其尺寸。父元素添加display:box,定义两个可伸缩的 p 元素。如果父元素的总宽度是 300 像素,则 #p1 的宽度是 100 像素,而 #p2 的宽度是 200 像素 box-sizing:content-box;和box-sizing:border-box;的用法和区别:http://www.w3cplus.com/content/css3-box-sizing利用CSS3选择器选择第7到14个元素:ul li:nth-child(n+7):nth-child(-n+14) {
background: lightpink;
}
这个功能在Safari中不起效。解决方案:只需将选择器中的顺序换一下,变成这样:ol li:nth-child(-n+14):nth-child(n+7)。Webkit不能识别这种写法,所以你最终还是可以让它在Safari中正常运行。
注意里面的反斜杠,它跟font和border-radius里简写方式使用的反斜杠的用法相似。反斜杠可以在支持这种写法的浏览器里在position后面接着写background-size。如果简写时缺少某一个属性值,则background失效。 background-size有两个预设值contain和cover,contain是将背景图片等比缩放到宽度或高度与容器的宽度或高度相等,背景图片始终被包含在容器内;而cover是将背景图片等比缩放到完全覆盖容器,背景图片有可能超出容器。 HSL(色相、饱和度、亮度)也可以设置元素的颜色,而且HSLA透明规则和RGBA一样。 使用HSL可以轻松方便地实现鼠标悬停时颜色加深的效果:#btn{background-color: hsl(359,99%,50%);} #btn:hover{background-color: hsl(359,99%,40%);}(RGBA方法同理)
PhotoShop阴影效果转换成css中box-shadow
混合模式:PhotoShop提供了多种混合模式,但是CSS3只支持正常模式(normal)。
颜色: 阴影颜色。对应于CSS3阴影中的color值。
不透明度(Opacity): 阴影的不透明度。对应于CSS3阴影的颜色rgba()中的a。
角度(Angle):阴影的角度。
距离(Distance):阴影的距离。根据阴影的角度和距离,可以计算出CSS3阴影中的h-shadow和v-shadow。
h-shadowt = Distance * cos(180 - Angle)
v-shadowt = Distance * sin(180 - Angle)
扩展(Spread):阴影的扩展大小。控制阴影实体颜色和虚化颜色的多少。
大小(Size):阴影的大小。
spread = Spread * Size
blur = Size - spread
box-shadow语法:
box-shadow: h-shadow v-shadow blur spread color inset;
text-shadow语法:
text-shadow: h-shadow v-shadow blur color;
text-shadow没有spread,所以不能完全实现。
组合使用CSS3属性实现按钮样式:我的按钮
.btn{
display: inline-block;
padding: 15px;
text-decoration: none;
font-size: 25px;
background-color: #b01c20;
color: #fff;
border: 1px solid #bfbfbf;
border-radius: 5px;
text-shadow: 0 1px #000;
box-shadow: 0px 0px 3px hsla(0,0%,26.6667%,0.8);
background: linear-gradient(90deg,#b01c20 0%,#f15c60 100%);
}
用CSS3动画实现省略号动画:
.loading:after { overflow: hidden; display: inline-block; vertical-align: bottom; animation: ellipsis 2s infinite; content: "\2026"; /* ascii code for the ellipsis character */ } @keyframes ellipsis { from { width: 2px; } to { width: 15px; } }