css基础 CSS 图片廊CSS 图像透明/不透明CSS 图像拼合技术

Posted 知其黑、受其白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css基础 CSS 图片廊CSS 图像透明/不透明CSS 图像拼合技术相关的知识,希望对你有一定的参考价值。

阅读目录

CSS 图片廊

公共的html布局

首先是我们用到的公共的HTML布局,下面的例子都将用到:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>下拉菜单</title>
    <style>
       
    </style>
</head>
<body>

/* HTML */
<div class="responsive">
    <div class="img">
    <a target="_blank" href="3.jpg">
        <img src="3.jpg" alt="图片文本描述" width="300" height="200">
    </a>
    <div class="desc">这里添加图片文本描述</div>
    </div>
</div>
    
<div class="responsive">
    <div class="img">
    <a target="_blank" href="5.jpg">
        <img src="5.jpg" alt="图片文本描述" width="300" height="200">
    </a>
    <div class="desc">这里添加图片文本描述</div>
    </div>
</div>
    
<div class="responsive">
    <div class="img">
    <a target="_blank" href="a.jpg">
        <img src="a.jpg" alt="图片文本描述" width="300" height="200">
    </a>
    <div class="desc">这里添加图片文本描述</div>
    </div>
</div>
    
<div class="responsive">
    <div class="img">
    <a target="_blank" href="shopping_cart.png">
        <img src="shopping_cart.png" alt="图片文本描述" width="300" height="200">
    </a>
    <div class="desc">这里添加图片文本描述</div>
    </div>
</div>

</body>
</html>

CSS 创建图片廊

/* CSS */
div.img 
    margin: 5px;
    border: 1px solid #ccc;
    float: left;
    width: 180px;


div.img:hover 
    border: 1px solid #777;


div.img img 
    width: 100%;
    height: auto;


div.desc 
    padding: 15px;
    text-align: center;

响应式图片廊

使用 CSS3 的媒体查询来创建响应式图片廊:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>下拉菜单</title>
    <style>
        div.img 
            border: 1px solid #ccc;
        

        div.img:hover 
            border: 1px solid #777;
        

        div.img img 
            width: 100%;
            height: auto;
        

        div.desc 
            padding: 15px;
            text-align: center;
        

        * 
            box-sizing: border-box;
        

        .responsive 
            padding: 0 6px;
            float: left;
            width: 24.99999%;
        

        @media only screen and (max-width: 700px)
            .responsive 
                width: 49.99999%;
                margin: 6px 0;
            
        

        @media only screen and (max-width: 500px)
            .responsive 
                width: 100%;
            
        

        .clearfix:after 
            content: "";
            display: table;
            clear: both;
        
    </style>
</head>
<body>

<div class="responsive">
    <div class="img">
    <a target="_blank" href="3.jpg">
        <img src="3.jpg" alt="图片文本描述" width="300" height="200">
    </a>
    <div class="desc">这里添加图片文本描述</div>
    </div>
</div>
    
<div class="responsive">
    <div class="img">
    <a target="_blank" href="5.jpg">
        <img src="5.jpg" alt="图片文本描述" width="300" height="200">
    </a>
    <div class="desc">这里添加图片文本描述</div>
    </div>
</div>
    
<div class="responsive">
    <div class="img">
    <a target="_blank" href="a.jpg">
        <img src="a.jpg" alt="图片文本描述" width="300" height="200">
    </a>
    <div class="desc">这里添加图片文本描述</div>
    </div>
</div>
    
<div class="responsive">
    <div class="img">
    <a target="_blank" href="shopping_cart.png">
        <img src="shopping_cart.png" alt="图片文本描述" width="300" height="200">
    </a>
    <div class="desc">这里添加图片文本描述</div>
    </div>
</div>

</body>
</html>

CSS 图像透明/不透明

使用CSS很容易创建透明的图像。

注意:CSS Opacity 属性是W3C的CSS3建议的一部分。

创建一个透明图像

CSS3中属性的透明度是 opacity。首先,我们将向您展示如何用CSS创建一个透明图像。

正常的图像


相同的图像带有透明度:

看看下面的CSS:

img 
  opacity:0.4;
  filter:alpha(opacity=40); /* IE8 及其更早版本 */

IE9,Firefox,Chrome,Opera,和Safari浏览器使用透明度属性可以将图像变的不透明。 Opacity属性值从0.0 - 1.0。值越小,使得元素更加透明。

IE8和早期版本使用滤镜:alpha(opacity= x)。 x可以采取的值是从0 - 100。较低的值,使得元素更加透明。

图像的透明度 – 悬停效果

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>下拉菜单</title>
    <style>
        img 
            opacity:0.4;
            filter:alpha(opacity=40); /*  IE8 及其更早版本 */
        
        img:hover 
            opacity:1.0;
            filter:alpha(opacity=100); /* IE8 及其更早版本 */
        
    </style>
</head>
<body>

    <img src="3.jpg" alt="图片文本描述" width="300" height="200">

</body>
</html>

第一个CSS块是和例1中的代码类似。
此外,我们还增加了当用户将鼠标悬停在其中一个图像上时发生什么。
在这种情况下,当用户将鼠标悬停在图像上时,我们希望图片是清晰的。

此CSS是:opacity=1.

IE8和更早版本使用: filter:alpha(opacity=100).

当鼠标指针远离图像时,图像将重新具有透明度。

透明的盒子中的文字


首先,我们创建一个固定的高度和宽度的 div 元素,带有一个背景图片和边框。

然后我们在第一个 div 内部创建一个较小的 div 元素。

这个div也有一个固定的宽度,背景颜色,边框 – 而且它是透明的。透明的div里面,我们在P元素内部添加一些文本。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>下拉菜单</title>
    <style>
        div.background 
            width:500px;
            height:250px;
            background:url(3.jpg) repeat;
            border:2px solid black;
        
        div.transbox 
            width:400px;
            height:180px;
            margin:30px 50px;
            background-color:#ffffff;
            border:1px solid black;
            opacity:0.6;
            filter:alpha(opacity=60); /* IE8 及更早版本 */
        
        div.transbox p 
            margin:30px 40px;
            font-weight:bold;
            color:#000000;
        
    </style>
</head>
<body>

    <div class="background">
        <div class="transbox">
            <p>这些文本在透明框里。
            ...
            </p>
        </div>
    </div>

</body>
</html>

CSS 图像拼合技术

图像拼合

图像拼合就是单个图像的集合。

有许多图像的网页可能需要很长的时间来加载和生成多个服务器的请求。

使用图像拼合会降低服务器的请求数量,并节省带宽。

图像拼合 – 简单实例

与其使用三个独立的图像,不如我们使用这种单个图像( ”img_navsprites.gif” ):


有了CSS,我们可以只显示我们需要的图像的一部分。

在下面的例子CSS指定显示 “img_navsprites.gif” 的图像的一部分:

效果如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>下拉菜单</title>
    <style>
        img.home 
            width: 46px;
            height: 44px;
            background: url(img_navsprites.gif) 0 0;
        

        img.next 
            width: 43px;
            height: 44px;
            background: url(img_navsprites.gif) -91px 0;
        
    </style>
</head>
<body>

    <img class="home" src="Background.png"><br><br>
    <img class="next" src="Background.png">

</body>
</html>

以下 Background.png:透明图片:

实例解析:

<img class="home" src="img_trans.gif" /> - 因为不能为空,src属性只定义了一个小的透明图像。显示的图像将是我们在CSS中指定的背景图像

宽度:46px;高度:44px; – 定义我们使用的那部分图像

background:url(img_navsprites.gif) 0 0; – 定义背景图像和它的位置(左0px,顶部0px)

这是使用图像拼合最简单的方法,现在我们使用链接和悬停效果。

图像拼合 – 创建一个导航列表

我们想使用拼合图像 (“img_navsprites.gif”) ,以创建一个导航列表。

我们将使用一个HTML列表,因为它可以链接,同时还支持背景图像:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>图像拼合 – 创建一个导航列表</title>
    <style>
        #navlist 
            position: relative;
        

        #navlist li 
            margin: 0;
            padding: 0;
            list-style: none;
            position: absolute;
            top: 0;
        

        #navlist li,
        #navlist a 
            height以上是关于css基础 CSS 图片廊CSS 图像透明/不透明CSS 图像拼合技术的主要内容,如果未能解决你的问题,请参考以下文章

[HTML][CSS] 如何改变背景图片的不透明度,而不是上面的文字?

CSS:圆角 + 不透明度 = 图像在 Firefox 19 中消失

不透明度为 0.5 的 CSS 背景图像

如何使图像变暗以保持透明度不受 CSS 或 JS 影响?

如何在没有不透明度的情况下使用 CSS 淡化图像?

css如何实现图片的透明渐变?