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>



相关文章
|
4天前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
60 14
|
5月前
|
前端开发 JavaScript
探索现代Web应用的微前端架构
【10月更文挑战第40天】在数字时代的浪潮中,Web应用的发展日益复杂多变。微前端架构作为一种新兴的设计理念,正逐步改变着传统的单一前端开发模式。本文将深入探讨微前端的核心概念、实现原理及其在实际项目中的应用,同时通过一个简单的代码示例,揭示如何将一个庞大的前端工程拆分成小而美的模块,进而提升项目的可维护性、可扩展性和开发效率。
|
2月前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
69 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
3月前
|
前端开发 容器
CSS 居中技术完全指南:从基础到高级应用
本文详细介绍了 CSS 中常用的居中方法,涵盖水平居中、垂直居中及同时实现两者的方法。
89 12
|
5月前
|
移动开发 前端开发 JavaScript
除了 CSS3,还有哪些技术可以实现动画效果?
除了 CSS3,还有哪些技术可以实现动画效果?
192 63
|
5月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
89 6
|
5月前
|
前端开发 JavaScript 搜索推荐
前端懒加载:提升页面性能的关键技术
前端懒加载是一种优化网页加载速度的技术,通过延迟加载非首屏内容,减少初始加载时间,提高用户访问体验和页面性能。
|
5月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
146 5
|
5月前
|
消息中间件 前端开发 JavaScript
探索微前端架构:构建现代Web应用的新策略
本文探讨了微前端架构的概念、优势及实施策略,旨在解决传统单体应用难以快速迭代和团队协作的问题。微前端允许不同团队独立开发、部署应用的各部分,提升灵活性与可维护性。文中还讨论了技术栈灵活性、独立部署、团队自治等优势,并提出了定义清晰接口、使用Web组件、状态管理和样式隔离等实施策略。
|
6月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
476 14

热门文章

最新文章