CSS基础学习记录(6)

news2024/11/15 18:29:56

       

目录

1、从最基本的页面开始

2、添加图像/浮层部分

3、位置调整

4、添加动效

4.1、添加浮层动效

4.2、添加背景动画


根据前面css的学习,本篇来实践下前面学习的知识,主要实现如下这样的效果。

        下面我们一步步实现上面的效果。

1、从最基本的页面开始

        如下是最基本的一个页面:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>CSS基础学习记录(6)</title>
    <style>

    </style>
</head>

<body>

</body>

</html>

        没错,就是啥也没有,只是一个最基本的html框架,接下来我们开始往里面加代码。 首先加了一个盒子(div),代码如下:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>CSS基础学习记录(6)</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        body {
            background-color: antiquewhite;
        }

        .box {
            margin: 0 auto;
            background-color: chartreuse;
            margin-top: 45px;
            width: 200px;
            height: 200px;
        }
    </style>
</head>

<body>
    <div class="box"></div>
</body>

</html>

        运行效果如下:

         代码分析:

        * {
            margin: 0;
            padding: 0;
        }

         这是一个通用选择器,会匹配所有的html元素,这里把margin、padding都设置为0(默认会有一个padding、maring)。


        body {
            background-color: antiquewhite;
        }

        .box {
            margin: 0 auto;
            background-color: chartreuse;
            margin-top: 45px;
            width: 200px;
            height: 200px;
        }

        首先使用标签选择器(body)设置了body的背景色,然后使用类选择器(.box)创建了一个box类,该选择器的效果是创建了一个宽高都是200px的区域,同时外边距(上边)为45px,水平居中。

2、添加图像/浮层部分

        现在将在box里面添加一张图像以及一个浮层,图像是背景,浮层则是可以浮动的,代码如下:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>CSS基础学习记录(6)</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        body {
            background-color: antiquewhite;
        }

        .box {
            margin: 0 auto;
            background-color: chartreuse;
            margin-top: 45px;
            width: 200px;
            height: 200px;
        }

        img {
            width: 200px;
            height: 200px;
        }

        .cover {
            margin: 0 auto;
            background-color: rgb(144, 167, 30);
            width: 200px;
            height: 200px;
        }
    </style>
</head>

<body>
    <div class="box">
        <img src="./images/1.jpg" />
        <div class="cover" />
    </div>
</body>

</html>

        运行效果如下:

        CSS部分增加了如下代码:

        img {
            width: 200px;
            height: 200px;
        }

        .cover {
            margin: 0 auto;
            background-color: rgb(144, 167, 30);
            width: 200px;
            height: 200px;
        }

         标签选择器img定义了图像的宽高都是200px,.cover类选择器定义了一个宽高都是200px的浮层,该浮层是要覆盖在图片上的,接下来我们调整下浮层的位置,让它覆盖在图像上面。

3、位置调整

        现在把浮层移动到图像上面,为了方便区分,给浮层加了个透明度,以便透出下面的图片,代码如下:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>CSS基础学习记录(6)</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        body {
            background-color: antiquewhite;
        }

        .box {
            margin: 0 auto;
            background-color: chartreuse;
            margin-top: 45px;
            width: 200px;
            height: 200px;
            position: relative;
        }

        img {
            width: 200px;
            height: 200px;
        }

        .cover {
            margin: 0 auto;
            background-color: rgb(144, 167, 30);
            width: 200px;
            height: 200px;
            opacity: 0.8;
            position: absolute;
            top: 0;
            left: 0;
        }
    </style>
</head>

<body>
    <div class="box">
        <img src="./images/1.jpg" />
        <div class="cover" />
    </div>
</body>

</html>

        运行效果如下:

        相比之前的代码增加了如下部分定位的代码:

4、添加动效

        现在来到精彩部分,我们将添加鼠标移动到图像上时的动效。

4.1、添加浮层动效

        添加浮层动效前,我们先调整下浮层的位置,CSS中.cover的left为100%,效果如下:

         现在我们要实现鼠标移动到box范围时,浮层会执行动画移动到图像上(图像首先会隐藏),代码如下:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>CSS基础学习记录(6)</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        body {
            background-color: antiquewhite;
        }

        .box {
            margin: 0 auto;
            background-color: chartreuse;
            margin-top: 45px;
            width: 200px;
            height: 200px;
            position: relative;
            overflow: hidden;
        }

        img {
            width: 200px;
            height: 200px;
        }

        .cover {
            margin: 0 auto;
            background-color: rgb(144, 167, 30);
            width: 200px;
            height: 200px;
            opacity: 0.8;
            position: absolute;
            top: 0;
            left: 100%;
            transition: all 0.5s;
        }

        .box:hover .cover{
            left: 0;
        }
    </style>
</head>

<body>
    <div class="box">
        <img src="./images/1.jpg" />
        <div class="cover" />
    </div>
</body>

</html>

        .box增加了CSS代码overflow: hidden;使得超出box的部分会被隐藏,实现动画主要是新增了如下代码:

        .cover里面新增的transition: all 0.5s;表示所有属性都参与动画,执行时间是0.5秒(不要少了后面的s),选择器 .box:hover .cover表示当鼠标经过box范围时,将会选择后代.cover,而.cover将属性left设置为0,结果是动画从右边出现,移动到与图像重合。

4.2、添加背景动画

        添加了背景动效的代码如下:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>CSS基础学习记录(6)</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        body {
            background-color: antiquewhite;
        }

        .box {
            margin: 0 auto;
            background-color: chartreuse;
            margin-top: 45px;
            width: 200px;
            height: 200px;
            position: relative;
            overflow: hidden;
        }

        img {
            width: 200px;
            height: 200px;
            transition: all 0.5s;
        }

        .cover {
            margin: 0 auto;
            background-color: rgb(144, 167, 30);
            width: 200px;
            height: 200px;
            opacity: 0.8;
            position: absolute;
            top: 0;
            left: 100%;
            transition: all 0.5s;
        }

        .box:hover .cover {
            left: 0;
        }

        .box:hover img {
            transform: scale(1.2);
        }
    </style>
</head>

<body>
    <div class="box">
        <img src="./images/1.jpg" />
        <div class="cover" />
    </div>
</body>

</html>

        与添加浮层动效类似,主要是添加了如下CSS代码:

        位于img中的CSS代码transition: all 0.5s;表面img的所有属性都参与动画,时间是0.5s,而选择器.box:hover img则表示鼠标经过box范围时触发img的动效,CSS代码transform: scale(1.2);表面图片放大1.2倍。

        至此完成了一开始提到了动效。完整代码如下:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>CSS基础学习记录(6)</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        body {
            background-color: antiquewhite;
        }

        .box {
            margin: 0 auto;
            background-color: chartreuse;
            margin-top: 45px;
            width: 200px;
            height: 200px;
            position: relative;
            overflow: hidden;
        }

        img {
            width: 200px;
            height: 200px;
            transition: all 0.5s;
        }

        .cover {
            margin: 0 auto;
            background-color: rgb(144, 167, 30);
            width: 200px;
            height: 200px;
            opacity: 0.8;
            position: absolute;
            top: 0;
            left: 100%;
            transition: all 0.5s;
        }

        .box:hover .cover {
            left: 0;
        }

        .box:hover img {
            transform: scale(1.2);
        }
    </style>
</head>

<body>
    <div class="box">
        <img src="./images/1.jpg" />
        <div class="cover" />
    </div>
</body>

</html>

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

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

相关文章

爬取必应关键字搜索结果url

上代码 import aiohttp import asyncio from lxml import etree import aiofiles import time import random aiohttp 和 asyncio 用于异步HTTP请求和事件循环。 lxml 用于解析HTML。 aiofiles 用于异步文件操作。 time 和 random 用于控制爬取速度。 headers {User-Agent: M…

智慧校园-缴费管理系统总体概述

在构建现代化教育环境的过程中&#xff0c;智慧校园缴费管理系统脱颖而出&#xff0c;成为提升校园财务管理效率与服务质量的关键一环。缴费管理系统需要精心设计&#xff0c;通过科技力量&#xff0c;让原本繁琐的缴费流程变得简单快捷&#xff0c;同时增强家校之间的互动与信…

gbase 8c分布式升级步骤

GBase 8c 多模多态企业级分布式数据库具备高性能、高可用、弹性伸缩、高安全性等特性&#xff0c;可以部署在物理机、虚拟机、容器、私有云和公有云&#xff0c;为关键行业核心系统、互联网业务系统和政企业务系统提供安全、稳定、可靠的数据存储和管理服务。GBase 8c支持行存、…

鸿蒙期末项目(4)

day4 页面的设计与编写基本完成&#xff0c;接下来使用我们之前搭建好的服务器与相关的网络接口将鸿蒙中的逻辑真正实现一下。 在实现购物车页面展示功能时&#xff0c;使用了如下代码&#xff1a; getCartList(uid: number): Promise<CartItem[]> {return new Promise…

嵌入式框图、流程图绘制软件常用推荐

框图、流程图绘制软件介绍 1. ioDraw Create diagrams, Flowchart, Mindmap freely onlineioDraw is an easy-used free online diagramming application to create multiple diagrams, flowcharts,mindmaps, UML,UI sketches, etc.https://www.iodraw.com/diagram/ 功能&…

掌握SEO:如何优化用ChatGPT生成的文章以提升搜索排名

在数字化时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为网站流量的重要来源。随着人工智能技术的进步&#xff0c;越来越多的人开始使用ChatGPT等AI工具来生成文章。然而&#xff0c;虽然这些工具可以快速生成内容&#xff0c;但要确保这些内容在搜索引擎中…

【光伏开发】工商业光伏的优势

随着全球对可再生能源的日益重视和环保意识的增强&#xff0c;工商业光伏作为一种清洁、高效的能源利用方式&#xff0c;正在得到广泛的推广和应用。工商业光伏系统通过安装在工厂、仓库、办公楼等工商业场所的太阳能电池板&#xff0c;将太阳能转化为电能&#xff0c;以满足工…

PID算法介绍以及代码实现过程说明

写在正文之前 在上一篇文章就说会在这两天会基于PID写一个文章&#xff0c;这里的原理部分值得大家都看一下&#xff0c;代码部分的实现是基于python的&#xff0c;但是对于使用其他编程语言的朋友&#xff0c;由于我写的很通俗易懂&#xff0c;所以也值得借鉴。 一、PID算法…

AR导航技术加持,图书馆阅读体验智慧升级

在信息爆炸的今天&#xff0c;图书馆作为知识的宝库&#xff0c;其藏书量和种类日益增多。然而&#xff0c;传统的图书馆导航方式已逐渐无法满足用户对快速、准确定位图书的需求。本文将探讨图书馆AR地图导航的实现原理、技术优势、功能特点以及市场前景&#xff0c;揭示为何AR…

【C++】——AVL树(详细解读)

目录 一 AVL树的概念 二 AVL树节点的定义 三 AVL树的插入 1.先和搜索二叉树一样&#xff0c;去找插入的结点 2.插入的时候&#xff0c;需要更新平衡因子 3.确定平衡因子的改变&#xff0c;判断AVL树的改变 三 AVL树的旋转 左单旋 右单旋 右左双旋 左右双旋 四 …

【包邮送书】深度学习与信号处理

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…

计算机等级考试二级Java-第一篇:Java语言概述

1.java语言的历史和发展 1991年由sun公司的James Gosling负责开发的&#xff0c;一个分布式代码系统&#xff08;Oak),最初是为家用消费电子产品&#xff08;电冰箱&#xff0c;电视机等&#xff09;进行编程&#xff0c;它是java语言的前身。 1994年sun公司件目标市场转向In…

热敏晶振:成本效益的选择与温补晶振的比较

在精密电子系统的设计中&#xff0c;晶振作为时间基准源&#xff0c;其频率稳定性直接影响到整个系统的性能。其中&#xff0c;温补晶振(Temperature Compensated Crystal Oscillator&#xff0c;简称TCXO)与热敏晶振(Thermistor Compensated Crystal Oscillator)作为在特殊温度…

VS studio2019配置远程连接Ubuntu

VS studio2019配置远程连接Ubuntu 1、网络配置 &#xff08;1&#xff09;获取主机IP &#xff08;2&#xff09;获取Ubuntu的IP &#xff08;3&#xff09;在 windows 的控制台中 ping 虚拟机的 ipv4 地址&#xff0c;在 Ubuntu 中 ping 主机的 ipv4 地址。 ubuntu: ping…

centos7 安装单机MongoDB

centos7安装单机 yum 安装 1、配置yum源 vim /etc/yum.repos.d/mongodb.repo [mongodb-org-7.0] nameMongoDB Repository baseurlhttps://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/7.0/x86_64/ gpgcheck1 enabled1 gpgkeyhttps://www.mongodb.org/static/pgp…

1.3.1 离散周期信号DFS

目录 离散周期序列的DFS表示 离散周期信号DFS的性质 线性特性 位移特性 对称特性 奇偶对称 共轭反转对称 实序列的对称特性 周期卷积 DFS——Discrete Fourier Series 傅里叶级数 离散周期序列的DFS表示 做题得到的小公式 离散周期信号DFS的性质 线性特性 位…

【日志等级类编写】

日志等级类编写 这篇文章接着上篇文章&#xff0c;继续来完成日志系统。 在一个日志文件当中&#xff0c;有各种各样的等级日志 debuginfowarnerrorfatal 我们使用的时候传入的是一个等级&#xff0c;我们需要将它转换为字符串。 class LogLevel {public:enum class Level…

白敬亭章若楠甜度报表的难哄大师

#白敬亭章若楠&#xff0c;甜度爆表的难哄大师#&#x1f389;&#x1f389;&#x1f389;各位小伙伴们&#xff0c;你们还记得那个让我们心跳加速、嘴角上扬的CP组合吗&#xff1f;没错&#xff0c;就是白敬亭和章若楠&#xff01;他们可是凭借一部新剧&#xff0c;再次让我们感…

分享几个小红书获取笔记详情API接口调用实例

item_get_video-获得小红书笔记详情 smallredbook.item_get_video 公共参数 名称类型必须描述keyString是调用key&#xff08;API支持测试&#xff0c;获取测试key&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[i…

第1章 基础知识

第1章 基础知识 1.1 机器语言 机器语言就是机器指令的集合&#xff0c;机器指令展开来讲就是一台机器可以正确执行的命令 1.2 汇编语言的产生 汇编语言的主题是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上&#xff0c;汇编指令是机器指令便于记忆的书写格式。…