使用css给图片添加酷炫标题的几种方式

news2024/11/24 7:26:50

使用css给图片添加酷炫标题的几种方式

在本文章中,将会向大家展示如何使用 CSS3 创建具有各种过渡动画的图像标题。

浏览器支持情况

这些方式将在很大程度上依赖于css3transformtransition属性,这些属性是相对较新的功能,因此,我们在使用时注意浏览器是否支持。

以下是已经支持的浏览器:

  • Internet Explorer 10+
  • Firefox 6+
  • Chrome 13+
  • Safari 3.2+
  • Opera 11+

定义基础的html结构

<div id="box" class="box">
  <img id="image" src="xxx.jpg"/>
  <span class="caption caption-style">
    <h4>图片标题</h4>
    <p>这是一张图片</p>
  </span>
</div>

以下是未设置任何css样式的情况:

在这里插入图片描述

让我们添加一些通用css来让样式更加方便后边我们实现不同酷炫标题.

.box {
    border: 5px solid #fff;
    cursor: pointer;
    height: 182px;
    float: left;
    margin: 5px;
    position: relative;
    overflow: hidden;
    width: 200px;
    -webkit-box-shadow: 1px 1px 1px 1px #ccc;
    -moz-box-shadow: 1px 1px 1px 1px #ccc;
    box-shadow: 1px 1px 1px 1px #ccc;
}

.box .caption {
    background-color: rgba(0,0,0,0.8);
    position: absolute;
    color: #fff;
    z-index: 100;
    -webkit-transition: all 300ms ease-out;
    -moz-transition: all 300ms ease-out;
    -o-transition: all 300ms ease-out;
    -ms-transition: all 300ms ease-out;
    transition: all 300ms ease-out;
    left: 0;
}

在上面的样式中,给图片添加了一个框,这个框将使用左浮动并排显示.同时还添加overflow: hidden属性,这将使穿过 div 的所有对象都被隐藏。而且标题也具有一些常见的样式和过渡属性。不过没有使用不透明度属性,而是RGBA 颜色模式设置alpha值为0.8来设置透明度,这样使标题看起来有点透明,而不影响内部文本。

在这里插入图片描述

第一种 从底部出现

第一个标题将具有通常用于标题的简单过渡效果。当我们将鼠标悬停在图像上时,标题将从底部出现(使用transform属性)。为了解决这个问题,标题的固定高度为 120p,我们应用其底部位置 -120p 将其隐藏在图像下方。

.box .caption-style {
    height: 120px;
    width: 200px;
    display: block;
    bottom: -120px;
    line-height: 25pt;
    text-align: center;
}
.box:hover .caption-style {
    -moz-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}

请添加图片描述

第二种 向下移动

第二种类型具有图像/框尺寸(200x200)的完整宽度和高度,并且过渡就像滑动门效果,只是它会从上滑动到下。因此,需要对translateY 设置正值.

.box .caption-style {
    width: 170px;
    height: 170px;
    top: -200px;
    text-align: left;
    padding: 15px;
}
.box:hover .caption-style {
    -moz-transform: translateY(100%);
    -o-transform: translateY(100%);
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
}

请添加图片描述

第三种 淡入淡出

第三种方式将具有淡入淡出效果。因此,我们为其初始状态添加了 opacity: 0。实际上这是最简单的一个。当框悬停时,标题不透明度将变为 1,使其可见,并且由于我们在标题类中添加了转换属性,因此非常简单.

.box .caption-style {
    opacity: 0;
    width: 170px;
    height: 170px;
    text-align: left;
    padding: 15px;
}
.box:hover .caption-style {
    opacity: 1;
}

请添加图片描述

第四种 向左滑动

第四种方式将从左向右滑动,因此我们固定 left:200px 作为其初始位置。但是当标题将从左侧滑动,图像也会从右侧滑出。所以,这里我们也需要对img标签也设置相应的css

下面的 CSS 表示,当我们将鼠标悬停在框上时,标题将向左滑动 100% 的宽度。使用 translateX实现右向左水平移动.

.box .caption-style {
    width: 170px;
    height: 170px;
    text-align: left;
    padding: 15px;
    left: 200px;
}
.box:hover .caption-style {
    -moz-transform: translateX(-100%);
  -o-transform: translateX(-100%);
  -webkit-transform: translateX(-100%);
  opacity: 1;
  transform: translateX(-100%);
}
.box:hover img .image {
  -moz-transform: translateX(-100%);
  -o-transform: translateX(-100%);
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

请添加图片描述

第五种 放大

第五种会进行比例变换(需要结合第一种方式一起使用),文本将在转换转换完成后出现。因此,我们在文本上添加转换延迟,在示例为h4p标签。

.box .caption h4, .box .caption p {
    position: relative;
    left: -200px;
    width: 170px;
    -webkit-transition: all 300ms ease-out;
    -moz-transition: all 300ms ease-out;
    -o-transition: all 300ms ease-out;
    -ms-transition: all 300ms ease-out;
    transition: all 300ms ease-out;
}

.box .caption h4{ 
    -webkit-transition-delay: 300ms;
    -moz-transition-delay: 300ms;
    -o-transition-delay: 300ms;
    -ms-transition-delay: 300ms;
    transition-delay: 300ms;
}

.box .caption p {
    -webkit-transition-delay: 500ms;
    -moz-transition-delay: 500ms;
    -o-transition-delay: 500ms;
    -ms-transition-delay: 500ms;
    transition-delay: 500ms;
}

.box:hover #image {
    -moz-transform: scale(1.4);
    -o-transform: scale(1.4);
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
}

.box:hover .caption h4, .box:hover .caption p {
    -moz-transform: translateX(200px);
    -o-transform: translateX(200px);
    -webkit-transform: translateX(200px);
    transform: translateX(200px);
}

.box .caption-style {
    height: 120px;
    width: 200px;
    display: block;
    bottom: -120px;
    line-height: 25pt;
    text-align: center;
}
.box:hover .caption-style {
    -moz-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}

请添加图片描述

第六种 旋转

最后一种方式将具有旋转效果。不仅标题会旋转,图像也会旋转。它更像是通过旋转来改变位置。因此,我们设置了旋转180°.因为它不会从右或左移动,而是会旋转。当框悬停时,包含图像和标题的 div 将逆时针旋转 -180 度,隐藏图像并显示标题。这种方式需要在image标签外加一个元素

<div id="box" class="box">
    <div class="rotate">
        <img id="image" src="xxx.jpg"/>
        <span class="caption caption-style">
          <h4>图片标题</h4>
          <p>这是一张图片</p>
        </span>
    </div>
</div>
.box .caption-style {
    width: 170px;
    height: 170px;
    text-align: left;
    padding: 15px;
    top: 200px;
    -moz-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

.box .rotate {
    width: 200px;
    height: 400px;
    -webkit-transition: all 300ms ease-out;
    -moz-transition: all 300ms ease-out;
    -o-transition: all 300ms ease-out;
    -ms-transition: all 300ms ease-out;
    transition: all 300ms ease-out;
}

.box:hover .rotate {
    background-color: rgba(0,0,0,1) !important;
    -moz-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/781364.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式原则

1、设计模式七大原则 1.1 设计模式的目的 编写软件过程中&#xff0c;程序员面临着来自 耦合性&#xff0c;内聚性以及可维护性&#xff0c;可扩展性&#xff0c;重用性&#xff0c;灵活性 等多方面的挑战&#xff0c;设计模式是为了让程序(软件)&#xff0c;具有更好 代码重…

抖音短视频seo矩阵系统源码解析与技术实现

抖音短视频SEO矩阵系统源码解析与技术实现涉及到多个方面的技术&#xff0c;包括算法、网络爬虫、数据挖掘、自然语言处理、数据库设计等。 一、 以下是一些实现此系统的技术要点和步骤&#xff1a; 数据采集和处理 首先&#xff0c;需要对抖音短视频进行数据采集。这可以通过编…

【Linux进程】进程控制(上) {进程创建:fork的用法,fork的工作流程,写时拷贝;进程终止:3种退出情况,退出码,常见的退出方法}

一、进程创建 1.1 fork的初步认识和基本使用 在linux中fork函数是非常重要的函数&#xff0c;它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父进程。 #include <unistd.h> pid_t fork(void);返回值&#xff1a;子进程中返回0&#xff0c;父进…

批量AI智剪:让您的短视频制作更加轻松有趣!

在如今的社交媒体时代&#xff0c;短视频已经成为了人们表达创意和分享生活的重要方式。然而&#xff0c;对于许多人来说&#xff0c;短视频制作却是一项繁琐且技术要求较高的任务。幸运的是&#xff0c;现在有了AI智剪&#xff0c;让您的短视频制作变得更加轻松有趣&#xff0…

java小区物业管理系统

java小区物业管理系统 计算机小区物业管理系统 ssh小区物业管理系统 基于javasshmysql小区物业管理系统的设计与实现 运行环境&#xff1a; JAVA版本&#xff1a;JDK1.8 IDE类型&#xff1a;IDEA、Eclipse都可运行 数据库类型&#xff1a;MySql&#xff08;8.x版本都可&a…

3.18 Bootstrap 列表组(List Group)

文章目录 Bootstrap 列表组&#xff08;List Group&#xff09;向列表组添加徽章向列表组添加链接向列表组添加自定义内容 Bootstrap 列表组&#xff08;List Group&#xff09; 本章我们将讲解列表组。列表组件用于以列表形式呈现复杂的和自定义的内容。创建一个基本的列表组的…

使用 Solon Cloud 的 Jaeger 做请求链路跟踪

<dependency><groupId>org.noear</groupId><artifactId>jaeger-solon-cloud-plugin</artifactId> </dependency>1、描述 分布式扩展插件。基于 jaeger 适配的 solon cloud 插件。基于 opentracing 开放接口提供链路跟踪支持。 2、配置示…

vulnhub打靶--raven

目录 vulnhub--raven1.nmap扫描端口服务2.点击主页service发现wordpress目录&#xff0c;识别为wordpress3.使用wpscan扫描4.扫描网站发现两个用户5.简单尝试下发现michael用户名和密码一致6.提权7.总结 vulnhub–raven 下载地址&#xff1a;raven 1.nmap扫描端口服务 2.点击…

Spring:xml 配置

Bean 配置xml 配置反射模式工厂方法模式Factory Bean 模式配置 在 Spring 中,配置 bean 实例一般使用 xml 配置方式或注解(Annontation) 方式进行配置。 xml 配置 在 xml 配置中分为三种方式,分别为反射模式、工厂方法模式和 Factory Bean 模式。 反射模式:指通过指定 …

IMU和视觉融合学习笔记

利用纯视觉信息进行位姿估计&#xff0c;对运动物体、光照干扰、场景纹理缺失等情况&#xff0c;定位效果不够鲁棒。当下&#xff0c;视觉与IMU融合(VI-SLAM&#xff09;逐渐成为常见的多传感器融合方式。视觉信息与IMU 数据进行融合&#xff0c;根据融合方式同样可分为基于滤波…

【NLP】视觉变压器与卷积神经网络

一、说明 本篇是 变压器因其计算效率和可扩展性而成为NLP的首选模型。在计算机视觉中&#xff0c;卷积神经网络&#xff08;CNN&#xff09;架构仍然占主导地位&#xff0c;但一些研究人员已经尝试将CNN与自我注意相结合。作者尝试将标准变压器直接应用于图像&#xff0c;发现在…

4.2 Bootstrap HTML编码规范

文章目录 Bootstrap HTML编码规范语法HTML5 doctype语言属性IE 兼容模式字符编码引入 CSS 和 JavaScript 文件HTML5 spec links 实用为王属性顺序布尔&#xff08;boolean&#xff09;型属性减少标签的数量JavaScript 生成的标签 Bootstrap HTML编码规范 语法 用两个空格来代替…

【Verilog】乒乓操作

文章目录 乒乓操作乒乓操作简单介绍乒乓操作的处理流程代码参考功能代码testbench波形文件 乒乓操作应用场景何时考虑使用乒乓操作乒乓操作的三个优点具体实现分析不间断地处理数据&#xff0c;无缝缓冲与处理可以节约缓冲区空间用低速模块处理高速数据流 乒乓操作 乒乓操作简…

光电器件的种类、原理和应用

光电器件是指能够将光信号转换成电信号或者将电信号转换成光信号的器件。它们广泛应用于通信、计算机、医疗、能源和环保等领域。本文将从光电器件的种类、原理和应用三个方面进行论述。 一、光电器件的种类 根据其功能和结构特点&#xff0c;光电器件可以分为多种类型&#…

【基于CentOS 7 的iscsi服务】

目录 一、概述 1.简述 2.作用 3. iscsi 4.相关名称 二、使用步骤 - 构建iscsi服务 1.使用targetcli工具进入到iscsi服务器端管理界面 2.实现步骤 2.1 服务器端 2.2 客户端 2.2.1 安装软件 2.2.2 在认证文件中生成iqn编号 2.2.3 开启客户端服务 2.2.4 查找可用的i…

Spring Boot-3

学习笔记&#xff08;今天又读了好多篇的博客&#xff0c;做个今天的总结&#xff0c;加油&#xff01;&#xff01;&#xff01;&#xff09; PS&#xff1a;快到中伏了&#xff0c;今天还是好热 使用阿里巴巴 FastJson 的设置 1、jackson 和 fastJson 的对比 有很多人已经…

spmvc基本要求

Mvc第一天 今天目标就是将所有的接口相关的注解理解,并且所有的注解都举例写出代码(cdsn上查) 1 mvc的基本概念: mvc: model,view,Controller,简单解释就是模型,视图,控制器.面试会问,md文档这些描述很到位,你可以看看 2 接口注解: (1) Controller/RestController表示当前…

【100天精通python】Day12:面向对象编程_属性和继承的基本语法与示例

目录 1 属性&#xff08;Attributes&#xff09; 1.1 属性的基本语法 1.2 创建用于计算的属性 1.3 属性的安全保护机制 2 继承&#xff08;Inheritance&#xff09; 2.1 继承的基本语法 2.2 方法的重写 2.3 派生类中调用基类的_init_()方法 3 总结 属性是类的特征或数…

记录WordPress安装后我常用的插件

记录WordPress安装后我常用的插件 一、WordPress安装二、插件使用1.添加Astra主题2.Easy Updates Manager2.WP Githuber MD3.WP-Optimize – Cache, Clean, Compress4. WP-PostViews或Post Views Counter5. Easy Table of Contents5. UpdraftPlus Backup/Restore6.WP Super Cac…

【开源项目】低代码数据可视化开发平台-Datav

Datav 基本介绍 Datav是一个Vue3搭建的低代码数据可视化开发平台&#xff0c;将图表或页面元素封装为基础组件&#xff0c;无需编写代码即可完成业务需求。 它的技术栈为&#xff1a;Vue3 TypeScript4 Vite2 ECharts5 Axios Pinia2 在线预览 账号: admin 密码: 123123预…