博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTML5实践 -- 如何使用css3丰富我们的图片样式 - part2
阅读量:5927 次
发布时间:2019-06-19

本文共 1919 字,大约阅读时间需要 6 分钟。

  转载请注明原创地址:

 

  之前的教程《》,我介绍了如何为图片添加background-image包装,借助box-shadow 和 border-radius为图片设置多种多样的样式,有兴趣的朋友可以回头阅读。但是最近我在设计  主题的时候遇到了问题,background-image大小不能调整,这对于响应式设计就不太理想了。今天我们将尝试解决问题。

  demo预览地址:

 

  问题

  大多数浏览器对图片的border-radius 和内嵌 box-shadow效果渲染的并不是很完美。这也就意味着,你不能为图片创建浮雕、高光和压缩等效果。

 

  之前的解决方案

  在之前的解决方案中,我们为图片的包装添加background-image属性,解决了上述问题。

  background-image存在的问题

  使用background-image的问题是,他不能实现图片大小的动态缩放。所以,这种方式对于要求图片缩放的响应式设计来说就不那么适用了。

 

  新解决方案

  新解决方式和之前的有些相似,我们把css3的效果添加到图片遮罩层 :after 伪类上,这样做的好处是图片保持了完整性和可收缩性。

  实现动态效果的jquery语句

  jquery会查询#demo下面所有的图片,然后为他们动态添加 span 包装。

  输出结果

  上面的代码会输出下面的结果:

    

  css技巧

  css技巧很简单,遮罩的效果被用在了.image-wrap:after 上面,border-radius 同时用在了图片和.image-wrap:after上面,来实现样式效果。

  css 

.image-wrap {
position: relative; display: inline-block; max-width: 100%; vertical-align: bottom;}.image-wrap:after {
content: ' '; width: 100%; height: 100%; position: absolute; top: -1px; left: -1px; border: solid 1px #1b1b1b; -wekbit-box-shadow: inset 0 0 1px rgba(255,255,255,.4), inset 0 1px 0 rgba(255,255,255,.4), 0 1px 2px rgba(0,0,0,.3); -moz-box-shadow: inset 0 0 1px rgba(255,255,255,.4), inset 0 1px 0 rgba(255,255,255,.4), 0 1px 2px rgba(0,0,0,.3); box-shadow: inset 0 0 1px rgba(255,255,255,.4), inset 0 1px 0 rgba(255,255,255,.4), 0 1px 2px rgba(0,0,0,.3); -webkit-border-radius: 7px; -moz-border-radius: 7px; border-radius: 7px;}.image-wrap img {
vertical-align: bottom; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4); -moz-box-shadow: 0 1px 2px rgba(0,0,0,.4); box-shadow: 0 1px 2px rgba(0,0,0,.4); -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px;}

 

  图片样式

  很多不同的效果,例如:浮雕、抠图、压缩和高光等,都可以通过使用多个内嵌box-shadows属性来实现。当然你也可以通过使用:before,来实现另外的布局效果,例如高光。可以查看demo源代码,去了解更多详情。之后,可以调整你浏览器窗口的大小,来查看图片大小是否发生了变化。

 

  浏览器兼容

  这个技巧,只要是支持 Javascript 和 CSS3 的大多数现代浏览器都支持,例如:Chrome, Firefox, Safari, and IE9+。

 

  原文地址:

 

你可能感兴趣的文章
修改blog问题
查看>>
Javascript图像处理——边缘梯度计算
查看>>
tableView:cellForRowAtIndexPath:
查看>>
我的Wp7开发之路——3个月后感受
查看>>
php 动态添加OPENSSL模块
查看>>
nutch 写一个indexingfilter插件
查看>>
图形、GDI + 和图表(ImageMap)
查看>>
Android——RecycleView
查看>>
par函数usr参数-控制坐标系的范围
查看>>
PowerShell 远程连接与其它技巧
查看>>
网站推广优化教程100条(SEO,网站关键字优化,怎么优化网站,如何优化网站关键字)...
查看>>
背包学习————多重背包背包
查看>>
HDOJ1394 Minimum Inversion Number【线段树】
查看>>
解决WIN2003无法安装无线网卡驱动的问题
查看>>
(转)Linux下的软链接和硬链接的不同
查看>>
Nosql入门知识(转)
查看>>
判断URL是否存在
查看>>
PHP 字符串为空
查看>>
车牌、手机、身份证、等敏感信息 屏蔽 替换 、中文转unicode编码 函数
查看>>
通达信日线 数据格式
查看>>