纯洁CSS3实现图片墙

预赛

  • DIV+CSS基金会
  • CSS3的transform 和 transition说明
    • 主要用于transform的rotate/scale
    • 动画过渡的几个參数(transition-property/transition-duration/ transition-timing-function)
  • CSS3的box-shadow..这里仅仅用到外阴影

值得一提的:很多其它属性的參数要查询css手冊,这里展示仅仅是会用到的;


素材获取

百度自行搜索图片素材,替换以下代码的图片路径就可以..

样例中的图片大于400像素小于600像素,当中480X270居多


效果描写叙述

初始化凌乱的图片排序(CSS控制),鼠标悬浮会让图片处于顶层显示,且图片恢复水平展示+放大1.5倍


代码实现

代码内含凝视

index.html

<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <title>CSS3实现照片墙</title>
  <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <h1>纯CSS3实现照片墙</h1>
    <div id="container">
      <img class="position_pic1" src="img/1.jpg" alt="这是一个美眉的图片">
      <img class="position_pic2" src="img/2.jpg" alt="这是一个美眉的图片">
      <img class="position_pic3" src="img/3.jpg" alt="这是一个美眉的图片">
      <img class="position_pic4" src="img/4.jpg" alt="这是一个美眉的图片">
      <img class="position_pic5" src="img/5.jpg" alt="这是一个美眉的图片">
      <img class="position_pic6" src="img/6.jpg" alt="这是一个美眉的图片">
      <img class="position_pic7" src="img/7.jpg" alt="这是一个美眉的图片">
      <img class="position_pic8" src="img/8.jpg" alt="这是一个美眉的图片">
    </div>
</body>
</html>

style.css

  *
{
    margin: 0;
    padding: 0;

    border: 0;
    outline: 0;
}
/*简易版reset*/

h1
{
    text-align: center;
}
/*文字居中*/

#container
{
    position: relative;

    width: 1200px;
    margin: 0 auto;
}
/*块居中*/

#container  img
{
    position: absolute;
    z-index: 1;

    -webkit-transition-timing-function: ease;
            transition-timing-function: ease;
    -webkit-transition-duration: 1s;
            transition-duration: 1s;
    -webkit-transition-property: all;
            transition-property: all;

    border: 5px solid #eee;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, .5);
}
/*
      给图片加入一个小阴影(外阴影)及添加边框

    这里的transition分开參数来写,方便小伙伴们理解.当然也能够用简写方式:
    eg: tansition:all 0.5 ease-out

    position在这里的作用是为了偏移图片位置的,,后面能够看到为何
    z-index是为了图片堆叠的排放,,这里为1,hover那里为2(效果即为底层图片第一张显示)
   */

#container   img:hover
{
    z-index: 200;

    -webkit-transform: rotate(0deg);
    -webkit-transform: scale(1.5);
        -ms-transform: rotate(0deg);
        -ms-transform: scale(1.5);
            transform: rotate(0deg);
            transform: scale(1.5);

    border: 5px solid #eee;
    box-shadow: 10px 10px 10px rgba(0, 0, 0, .5);
}
/*
  这一块是让图片在hvoer下的图形变换,水平展示及放大1.5倍;

  transform也能够简写的:
  eg:  transform:rotate(90deg) scale(1);
   */

/*以下这些子类都是来定位图片初始位置及旋转角度的*/
.position_pic1
{
    top: 100px;
    left: 5px;

    -webkit-transform: rotate(5deg);
        -ms-transform: rotate(5deg);
            transform: rotate(5deg);
}

.position_pic2
{
    top: 200px;
    left: 600px;

    -webkit-transform: rotate(-12deg);
        -ms-transform: rotate(-12deg);
            transform: rotate(-12deg);
}

.position_pic3
{
    top: 20px;
    left: 400px;

    -webkit-transform: rotate(-10deg);
        -ms-transform: rotate(-10deg);
            transform: rotate(-10deg);
}
.position_pic4
{
    top: 400px;
    left: 0;

    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
}
.position_pic5
{
    top: 400px;
    left: 500px;

    -webkit-transform: rotate(-5deg);
        -ms-transform: rotate(-5deg);
            transform: rotate(-5deg);
}
.position_pic6
{
    top: 500px;
    right: 50px;

    -webkit-transform: rotate(-30deg);
        -ms-transform: rotate(-30deg);
            transform: rotate(-30deg);
}
.position_pic7
{
    top: 600px;
    left: 250px;

    -webkit-transform: rotate(5deg);
        -ms-transform: rotate(5deg);
            transform: rotate(5deg);
}

.position_pic8
{
    top: 200px;
    right: 600px;

    -webkit-transform: rotate(35deg);
        -ms-transform: rotate(35deg);
            transform: rotate(35deg);
}

其它

  • CSS前缀是补全是用插件”autoprefix”解决;
  • CSS排版的是用插件”css comb”解决;
  • 測试浏览器firefox 38 / chrome 42

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-11-05 22:47:39

纯洁CSS3实现图片墙的相关文章

纯CSS3实现图片墙

预备知识 DIV+CSS基础 CSS3的transform 和 transition用法 主要是用了transform的rotate/scale 动画过渡的几个参数(transition-property/transition-duration/ transition-timing-function) CSS3的box-shadow..这里只用到外阴影 值得一提的:更多属性的参数要查询css手册,这里展示只是会用到的; 素材获取 百度自行搜索图片素材,替换下面代码的图片路径即可.. 例子中的图片

Image Wall - jQuery &amp; CSS3 图片墙效果

今天我们要为您展示如何基于 jQuery 和 CSS3 创建一个整洁的图片墙效果.我们的想法是在页面上洒上一些大小不同的缩略图,并在当我们点击图片时候显示丝带,会显示一些描述,再次点击缩略图时,丝带将关闭并重新打开一个更大的图像预览效果. 在线演示     下载源码 您可能感兴趣的相关文章 充满想象力的 JavaScript 物理和重力实验 精选9个值得学习的 HTML5 效果[附源码] 精选12个时尚的 CSS3 效果[附源码下载] 十分惊艳的8个 HTML5 & JavaScript 特效

css3图片墙

css相关知识: 1. 使用box-shadow设置图片阴影,为照片加上阴影 eg: box-shadow: 0 0 5px 3px #abc 2. 使用tansform-origin定义变形原点 eg: -webkit-transform-origin: 0 1px 3. 使用transform变形,常用变形函数有scale.rotate.translate eg: -webkit-transform: scale(0.8, 0.5); -webkit-transform: skew(-30d

图片墙动画效果

CSS3 transition实现超酷图片墙动画效果 <!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>CSS3 transform初体验之demo5</title> <style type="text/css">

CSS制作图片墙

通过CSS3的动画效果完成的一个简单的图片墙效果 效果图: 目标: 1. 用10张图片作为照片.2. 照片以不同的位置和旋转角度随意摆放.3. 鼠标移动到某一张照片上时,此照片由倾斜缓慢旋转成端正,并且放大显示在最上层. 用到的知识点: 1. box-shadow:给元素的边框添加阴影的效果 box-shadow: 10px 10px 15px #ccc; 前两个参数为阴影效果在上下左右的哪两个方向便宜,正的话为下或右方,负的话为上或左方. 第三个参数为阴影半径的大小. 第四个属性为阴影颜色.

CSS3 实现图片上浮动画(转载)

CSS3 实现图片上浮动画 .gist { width:220px; height:130px; background-image: url(2.jpg); background-repeat:no-repeat; border:5px solid green; background-position:50% 50%; transition:background-position 2s; -moz-transition:background-position 2s; /* Firefox 4 *

完美图片蒙太奇的JS效果基于JQuery实现(多个大小不同图片拼接成图片墙)

最近开发一个宠物服务网站 http://www.teyua.com/ 里面有个照片更新栏目,需要实现这个功能. 参考了很多,包括国外的图片墙,就是把多个大小不一样的图片根据一个算法整齐的组合成为图片墙. 需要实现的功能有:自动拼接,横竖都要完美对齐,窗口大小变化是自动调整,最后依然完美对齐. 网上找到的所有实现,都有缺陷,包括百度www.badu.com的图片搜索,组合的图片都有缺陷,看下图,右侧部分红框,边缘未对齐. Bing.cn 的图片搜索拼接的图片墙也有缺陷,而且比百度还严重,请看下图中

jQuery/CSS3实现图片层叠展开特效

这是一款基于jQuery和CSS3的图片层叠展开特效,让鼠标滑过图片时即可触发这些特效.主要由HTML.CSS以及jQuery代码组成. HTML代码: 把要用到的小图片列出来,HTML结构非常简单. <div id="page_wrap"> <!--Stack 1  --> <div class="image_stack" style="margin-left:600px"> <img id="

制作图片墙

今天学习了HTML加上CSS 简单JS实现图片墙代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> window.onload=function(){ var oUl =