内容简介:最近闲暇时间在看鑫爷的《CSS世界》,内容真的是非常精彩,很多细节分析的非常透彻,值得推荐。在日常开发中实现某种效果有很多方式,但是下面的局限性:content 属性 改变 的 仅仅是 视觉 呈现, 当 我们 以 右键 或 其他 形式 保存 这张 图片 的 时候, 所 保存 的 还是 原来 src 对应 的 图片。优点:
最近闲暇时间在看鑫爷的《CSS世界》,内容真的是非常精彩,很多细节分析的非常透彻,值得推荐。在日常开发中实现某种效果有很多方式,但是下面的 css code
我以前都很少用到,原来css还可以这么玩 。。
实现hover改变成另一张图片效果
/**css**/ img: hover { content: url( laugh-tear. png); } /**html code**/ < img src=" laugh. png"> 复制代码
局限性:content 属性 改变 的 仅仅是 视觉 呈现, 当 我们 以 右键 或 其他 形式 保存 这张 图片 的 时候, 所 保存 的 还是 原来 src 对应 的 图片。
显示网站logo
< h1>logo</ h1> h1 { content: url( logo. svg); } 复制代码
优点:
1,不会影响网站SEO。 2,使用.svg矢量图为了适应移动 端 retina 屏幕(如果用.svg会模 糊)。
注:千万不要自以为是地把重要的文本信息使用content 属性生成,因为这对可访问性和SEO都很不友好,content 属性只能用来生成 一些 无关紧要的内容, 如装饰性图形或者序号之类; 同样,也不要担心 原本重要的文字信息会被content替换,替换的仅仅是视觉层。
设置内容无法选中、无法复制
user-select: none 复制代码
“三道 杠” 小 图标 示意
.icon-menu { display: inline-block; width: 140px; height: 10px; padding: 35px 0; border-top: 10px solid; border-bottom: 10px solid; background-color: currentColor; background-clip: content-box; } 复制代码
双层 圆点 图形 示意
.icon-dot { display: inline-block; width: 100px; height: 100px; padding: 10px; border: 10px solid; border-radius: 50%; background-color: currentColor; background-clip: content-box; } 复制代码
去掉最右边的margin-right:20
/**方案一:使用css3 nth-of-type属性(不考虑兼容IE8**/ li: nth-of-type(3n) { margin-right: 0; } 复制代码
/**方案二:通过给父容器添加margin属性, 增加容器的可用宽度来实现**/ ul { margin-right: -20px; } ul > li { float: left; width: 100px; margin-right: 20px; } 复制代码
margin:auto的妙用
水平垂直居中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>demo</title> <style> .father { position: relative; width: 300px; height: 150px; border: red solid 1px; } .son { position: absolute; /**key code here**/ background-color: orange; width: 100px; height: 100px; top: 0; right: 0; left: 0; bottom: 0; margin: auto; /**key code here**/ } </style> </head> <body> <div class="father"> <div class="son"></div> </div> </body> </html> 复制代码
左/右对齐效果。
... .father { width: 300px; height: 200px; border: red solid 1px; } .son { width: 100px; height: 100px; background-color: orange; margin-right: 50px; /**左对齐margin-right、margin-left值交换**/ margin-left: auto; /**key code here**/ } ... 复制代码
水平居中
... .father { width: 300px; height: 200px; border: red solid 1px; } .son { width: 100px; height: 100px; background-color: orange; margin-right: auto; /**key code here**/ margin-left: auto; /**key code here**/ } ... 复制代码
###垂直居中
... .father { width: 300px; height: 200px; writing-mode: vertical-lr; /**key code here**/ border: red solid 1px; } .son { width: 100px; height: 100px; background-color: orange; margin: auto; /**key code here**/ } ... 复制代码
实现最高渲染性能的去除下边框css
div { border: 1px solid; border-bottom: 0 none; /**key code here**/ } 复制代码
优雅的增加icon按钮点击区域
点击 区域 大小 从 16 × 16 一下子 提升 到 38 × 38,
.icon- clear { width: 16px; height: 16px; border: 11px solid transparent; /**key code here**/ } 复制代码
最高性能等边三角图形绘制
div { width: 0; border: 10px solid; border-color: #f30 transparent transparent; } 复制代码
最高性能等腰三角图形绘制
div { width: 0; border-width: 20px 10px; border-style: solid; border-color: #f30 transparent transparent; } 复制代码
又或者是这种三角形(对话框气泡下的三角形)
div { width: 0; border-width: 20px 10px; border-style: solid; border-color: #f30 #f30 transparent transparent; } 复制代码
最高性能梯形图形绘制
div { width: 10px; height: 10px; border: 10px solid; border-color: #f30 transparent transparent; } 复制代码
逼真 的 3D 效果
div { width: 10px; height: 10px; border: 10px solid; border-color: #f30 #00f #396 #0f0; } 复制代码
被遗忘的 ex
单位
实现箭头居中文字垂直方向(不受字体、字号影响)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>demo</title> <style> .icon-arrow { display: inline-block; width: 20px; height: 1ex; background: url(arrow.svg) no-repeat center/20px 20px; } </style> </head> <body> <div style="font-size: 18px"> 箭头居中对齐 <i class="icon-arrow"></i> </div> </body> </html> 复制代码
永远居中的 dialog
(可兼容到IE7)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>demo</title> <style> .container { position: fixed; top:0; right: 0; left: 0; bottom: 0; background-color: rgba(0,0,0,.5); text-align: center; font-size: 0; white-space: nowrap; overflow: auto; } .container:after { content: ''; display: inline-block; height: 100%; vertical-align: middle; } .content { width: 240px; height: 120px; padding: 20px; } .dialog { display: inline-block; vertical-align: middle; border-radius: 6px; background-color: #fff; font-size: 14px; white-space: normal; } </style> </head> <body> <div class="container"> <div class="dialog"> <div class="content">这dialog永远居中</div> </div> </div> </body> </html> 复制代码
去除页面默认滚动条(PC端有效)
/**good code**/ html { overflow: hidden; } /**bad code**/ html, body { overflow: hidden; } 复制代码
本次写作到此,欢迎:heart::star:️:clap:指出错误或者发布自己的见解探讨,共勉。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ant Colony Optimization
Marco Dorigo、Thomas Stützle / A Bradford Book / 2004-6-4 / USD 45.00
The complex social behaviors of ants have been much studied by science, and computer scientists are now finding that these behavior patterns can provide models for solving difficult combinatorial opti......一起来看看 《Ant Colony Optimization》 这本书的介绍吧!