web前端学习(三十)——CSS3图像透明/不透明、拼合技术的相关设置

简介: web前端学习(三十)——CSS3图像透明/不透明、拼合技术的相关设置

1.CSS图像透明度

CSS3中属性的透明度是 opacity

在这种情况下,当用户将鼠标悬停在图像上时,我们希望图片是清晰的。

此CSS是:opacity=1。当鼠标指针远离图像时,图像将重新具有透明度。


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>CSS简单学习</title>
    <style type="text/css">
      img {
        opacity: 0.4;
        /*filter: alpha(opacity=40);*/
      }
      img:hover {
        opacity: 1.0;
        /*filter: alpha(opacity=100);*/
      }
    </style>
  </head>
  <body>
    <h1>图片透明度</h1>
    <p>opacity 属性通常与 :hover 选择器一起使用,在鼠标移动到图片上后改变图片的透明度:</p>
    <img src="img/images/tx.jpg" width="150" height="150" alt="表情图" />
    <img src="img/images/hetao.jpg" width="150" height="150" alt="核桃图" />
  </body>
</html>

2.在透明图像中添加文本


首先,我们创建一个固定的高度和宽度的div元素,带有一个背景图片和边框。然后我们在第一个div内部创建一个较小的div元素。 这个div也有一个固定的宽度,背景颜色,边框 - 而且它是透明的。透明的div里面,我们在P元素内部添加一些文本。


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>CSS简单学习</title>
    <style type="text/css">
      div.background {
        width: 500px;
        height: 250px;
        border: 2px solid black;
        background: url(img/images/tx.jpg) repeat;
      }
      div.transbox {
        width: 400px;
        height: 180px;
        border: 1px solid black;
        margin: 30px 50px;
        background-color: #FFFFFF;
        opacity: 0.6;
        /*filter: alpha(opacity=60);*/
      }
      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>


3.CSS图像拼合技术


3.1 实例一

实例解析:


  • #navlist{position:relative;} - 位置设置相对定位,让里面的绝对定位
  • #navlist li{margin:0;padding:0;list-style:none;position:absolute;top:0;} - margin和padding设置为0,列表样式被删除,所有列表项是绝对定位
  • #navlist li, #navlist a{height:44px;display:block;} - 所有图像的高度是44px

现在开始每个具体部分的定位和样式:


  • #home{left:0px;width:46px;} - 定位到最左边的方式,以及图像的宽度是46px
  • #home{background:url(img/images/tv01.jpg) 0 0;} - 定义背景图像和它的位置(左0px,顶部0px)
  • #prev{left:63px;width:43px;} - 右侧定位63px(#home宽46px+项目之间的一些多余的空间),宽度为43px。
  • #prev{background:url(img/images/tv03.jpg) -47px 0;} - 定义背景图像右侧47px(#home宽46px+分隔线的1px)
  • #next{left:129px;width:43px;}- 右边定位129px(#prev 63px + #prev宽是43px + 剩余的空间), 宽度是43px.
  • #next{background:url(img/images/tv05.jpg) no-repeat -91px 0;} - 定义背景图像右边91px(#home 46px+1px的分割线+#prev宽43px+1px的分隔线)


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>CSS简单学习</title>
    <style type="text/css">
      #navlist {
        position: relative;
      }
      #navlist li {
        position: absolute;
        margin: 0;
        padding: 0;
        top: 0;
        list-style: none;
      }
      #navlist li,#navlist a {
        display: block;
        height: 44px;
      }
      #home {
        left: 0;
        width: 46px;
        background: url(img/images/tv01.jpg) 0 0;
      }
      #prev {
        left: 63px;
        width: 43px;
        background: url(img/images/tv03.jpg) -47px 0;
      }
      #next {
        left: 129px;
        width: 43px;
        background: url(img/images/tv05.jpg) -91px 0;
      }
    </style>
  </head>
  <body>
    <ul id="navlist">
      <li id="home"><a href="https://www.baidu.com"></a></li>
      <li id="prev"><a href="https://www.tencent.com"></a></li>
      <li id="next"><a href="https://www.huawei.com"></a></li>
    </ul>
  </body>
</html>


3.2 实例二

实例解析:


  • 由于该列表项包含一个链接,我们可以使用:hover伪类。
  • #home a:hover{background: transparent url(img_navsprites_hover.gif) 0 -45px;} - 对于所有三个悬停图像,我们指定相同的背景位置,只是每个再向下45px。

:hover选择器用于鼠标悬停在元素上的显示的效果

提示: :hover 选择器可以运用于所有元素。


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>CSS简单学习</title>
    <style type="text/css">
      #navlist {
        position: relative;
      }
      #navlist li {
        position: absolute;
        margin: 0;
        padding: 0;
        top: 0;
        list-style: none;
      }
      #navlist li,#navlist a {
        display: block;
        height: 44px;
      }
      #home {
        left: 0;
        width: 46px;
        background: url(img/images/tv01.jpg) 0 0;
      }
      #home {
        background: url(img/images/tv01.jpg) 0 0;
      }
      #home a:hover{
        background: url(img/images/tv01.jpg) 0 -45px;
      }
      #prev {
        left: 63px;
        width: 46px;
        background: url(img/images/tv03.jpg) -47px 0;
      }
      #prev {
        background: url(img/images/tv03.jpg) -47px 0;
      }
      #prev a:hover{
        background: url(img/images/tv03.jpg) -47px -45px;
      }
      #next {
        left: 129px;
        width: 46px;
        background: url(img/images/tv05.jpg) -91px 0;
      }
      #next {
        background: url(img/images/tv05.jpg) -91px 0;
      }
      #next a:hover{
        background: url(img/images/tv05.jpg) -91px -45px;
      }
    </style>
  </head>
  <body>
    <ul id="navlist">
      <li id="home"><a href="https://www.baidu.com"></a></li>
      <li id="prev"><a href="https://www.tencent.com"></a></li>
      <li id="next"><a href="https://www.huawei.com"></a></li>
    </ul>
  </body>
</html>



相关文章
|
15天前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
30 3
|
12天前
|
监控 前端开发 JavaScript
探索微前端架构:构建可扩展的现代Web应用
【10月更文挑战第29天】本文探讨了微前端架构的核心概念、优势及实施策略,通过将大型前端应用拆分为多个独立的微应用,提高开发效率、增强可维护性,并支持灵活的技术选型。实际案例包括Spotify和Zalando的成功应用。
|
11天前
|
前端开发 开发者 C++
独家揭秘:前端大牛们如何高效学习新技术,保持竞争力!
【10月更文挑战第31天】前端技术飞速发展,如何高效学习新技术成为关键。本文通过对比普通开发者与大牛们的策略,揭示了高效学习的秘诀:明确目标、主动探索、系统资源、实践应用和持续学习。通过这些方法,大牛们能更好地掌握新技术,保持竞争力。示例代码展示了如何通过实践加深理解。
28 4
|
11天前
|
Web App开发 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用CSS3,打造炫酷视觉效果!
【10月更文挑战第31天】前端开发面临复杂布局的挑战,本文介绍了几种提升开发效率和代码质量的工具和技术。基础的HTML和CSS可以应对大部分布局需求,而Firefox开发者工具、VS Code、Vue、React等则能应对更复杂的布局,帮助开发者构建高性能、用户友好的网页应用。
22 4
|
16天前
|
前端开发 JavaScript
Bootstrap Web 前端 UI 框架
Bootstrap 是快速开发 Web 应用程序的前端工具包。
30 3
|
16天前
|
前端开发 安全 应用服务中间件
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第26天】随着互联网的快速发展,前端性能调优成为开发者的重要任务。本文探讨了HTTP/2与HTTPS在前端性能优化中的应用,介绍了二进制分帧、多路复用和服务器推送等特性,并通过Nginx配置示例展示了如何启用HTTP/2和HTTPS,以提升Web应用的性能和安全性。
17 3
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
100 3
|
15天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
102 44
|
11天前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
26 1
|
14天前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。

热门文章

最新文章