CSS为图片添加相框各种效果。
I’m using the same trick to show you how to decorate your images and photo galleries without editing the source images. The trick is very simple. All you need is an extra
<span>
tag and apply a background image to create the overlaying effect. It is very easy and flexible — see my demos with over 20 styles, from a simple image icon to a rounded corner to a masked layer (both decorative and complex).
Basic Concept (see demo)
You need to insert an extra <span>
tag within the <div>
tag, with which we’ll apply a background http://www.chenbincb.com.cn/cnblogs/demo44/images/ to create the overlaying effect. If you don’t like to have an empty span
tag, you can append the span
tag by Javascript (I’ll show you how later in this tutorial). Here is how it works:
Then in the CSS, the key point you have to remember is: specify the div
element to position:relative
and the span
element to position:absolute
. You can position the span
element anywhere you want by using the top
and left
property.
IE PNG Hack
To make the transparent PNG http://www.chenbincb.com.cn/cnblogs/demo44/images/ work on IE6, I use this wonderful iepngfix.htc hack. Download a copy of iepngfix.htc and insert the following code in between the <head>
tag:
<!--[if lt IE 7]>
<style type="text/css">
.photo span { behavior: url(iepngfix.htc); }
</style>
<![endif]-->
Look and Feel
To change the look and feel, simply edit the CSS specifications of the span
element. Click the http://www.chenbincb.com.cn/cnblogs/demo44/images/ below to see the demos I have. To show you how flexible it is, I’ve created 15 different styles (notice the HTML markup is same).
The jQuery Solution (see demo)
I know some of you (particularly the web accessibility fans) don’t like to have an empty span
tag in the markup. Well, I’ve solved this issue by using jQuery to append the span
tag to the source code. Insert the following code in between the <head>
tag:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
//prepend span tag
$(".photo a").prepend("<span></span>");
});
</script>
#1. Simple Gallery (see demo)
Let’s take the technique from the previous step and apply it to create a photo gallery.
#1b. Mini Icons (see demo)
This example shows you how to position different icons on top of each photo (note: an extra CSS class name is required in the span
tag).
#2. Photo With Text (see demo)
This example shows you how to create a gallery with linking text (em
tag).
#2b. Popup Text (see demo)
#3. Mini Paper Clip (see demo)
#4. Cork Board Gallery (see demo, IE6 version)
sIFR Version (Flash Text Replacement) (see sIFR demo)
This example uses sIFR to replace the em
text with a handwritten font (notes: in this demo, the span
tag is appended by jQuery)
#4b. Cork Board With Masking Tape (see demo, IE6 version)
#5. Art Gallery - Black Frame (see demo)
#5b. Art Gallery - Gold Frame (see demo)
#6. Grungy Watercolor (see demo)
sIFR Version (see sIFR demo)
#7. Glossy Style (see demo)
#8. Wood Panel Gallery (see demo)
Finally, this example demonstrates how you can apply the background http://www.chenbincb.com.cn/cnblogs/demo44/images/ to all elements to create a wood panel gallery: ul
, li
, and em
.
Final Remarks
As you can see, this CSS trick is very flexible. So, be creative! Feel free to incorporate the graphic http://www.chenbincb.com.cn/cnblogs/demo44/images/s and CSS styles in this tutorial to create your own.