日期:2014-05-17 浏览次数:20831 次
主要参考:
http://webdesignerwall.com/demo/css3-image-styles/
http://www.qianduan.net/css3-image-styles.html
详情到上面两个连接看。
主要自己整理一下,顺便把jQuery的代码专为JavaScript,做个备忘。
DEMO:http://jsfiddle.net/QkRKC/embedded/result/
代码:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
function changeImg(e) {
var img = e.target,
imageWarp = document.createElement("span");
imageWarp.className = "image-wrap " + img.className;
imageWarp.style.cssText = "position:relative; display:inline-block; background:url(" + img.src
+ ") no-repeat center center; width:" + img.width + "px; height:" + img.height + "px;"
img.insertAdjacentElement("beforebegin", imageWarp);
imageWarp.appendChild(img);
}
document.addEventListener("DOMContentLoaded", function() {
var imgs = document.querySelectorAll("img"),
length = imgs.length;
for(var i = 0; i < length; i++) {
imgs[i].style.opacity = 0;
imgs[i].onload = changeImg;
}
}, false);
</script>
<style>
body {
width:480px;
margin:0 auto;
}
div {
text-align:center;
margin-bottom:20px
}
/* NORMAL */
.normal img {
border: solid 5px #000;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
-webkit-box-shadow: inset 0 1px 5px rgba(0,0,0,.5);
-moz-box-shadow: inset 0 1px 5px rgba(0,0,0,.5);
box-shadow: inset 0 1px 5px rgba(0,0,0,.5);
}
/* CIRCLE */
.circle .image-wrap {
-webkit-border-radius: 50em;
-moz-border-radius: 50em;
border-radius: 50em;
}
/* PHOTO */
.card .image-wrap {
-webkit-box-shadow: inset 0 0 1px rgba(0,0,0,.8), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(0,0,0,.4);
-moz-box-shadow: inset 0 0 1px rgba(0,0,0,.8), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(0,0,0,.4);
box-shadow: inset 0 0 1px rgba(0,0,0,.8), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(0,0,0,.4);
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
}
/* EMBOSSED */
.embossed .image-wrap {
-webkit-box-shadow: inset 0 0 2px rgba(0,0,0,.8), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -7px 0 rgba(0,0,0,.6), inset 0 -9px 0 rgba(255,255,255,.3);
-moz-box-shadow: inset 0 0 2px rgba(0,0,0,.8), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -7px 0 rgba(0,0,0,.6), inset 0 -9px 0 rgba(255,255,255,.3);
box-shadow: inset 0 0 2px rgba(0,0,0,.8), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -7px 0 rgba(0,0,0,.6), inset 0 -9px 0 rgba(255,255,255,.3);
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
}
/* SOFT EMBOSSED */
.soft-embossed .image-wrap {
-webkit-box-shadow: inset 0 0 4px rgba(0,0,0,1), inset 0 2px 1px rgba(255,255,255,.5), inset 0 -9px 2px rgba(0,0,0,.6), inset 0 -12px 2px rgba(255,255,255,.3);
-moz-box-shadow: inset 0 0 4px rgba(0,0,0,1), inset 0 2px 1px rgba(255,255,255,.5), inset 0 -9px 2px rgba(0,0,0,.6), inset 0 -12px 2px rgba(255,255,255,.3);
box-shadow: inset 0 0 4px rgba(0,0,0,1), inset 0 2px 1px rgba(255,255,255,.5), inset 0 -9px 2px rgba(0,0,0,.6), inset 0 -12px 2px rgba(255,255,255,.3);
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
}
/* CUTOUT */
.cutout {
background: #222;
padding: 20px 40px 50px;
color: #fff;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;