CSS基础学习记录(6)

       

目录

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>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniapp开发H5、手机APP、微信小程序 可拖动菜单按钮

ml-fab 插件地址&#xff1a;https://ext.dcloud.net.cn/plugin?id18909 1、可拖拽悬浮按钮 ml-fab&#xff0c;支持自定义插槽&#xff0c;点击可展开一个图标按钮菜单&#xff0c;可随意拖拽。 2、支持自定义插槽&#xff0c;可实现自定义配置。 3、操作简单易上手。 ml-f…

锐捷AP从其它项目拆下,怎么也加入不了到现在这个网络里来

环境: AP 产品型号:RG-RAP2260G 问题描述: 锐捷AP从其它项目拆下,怎么也加入不了到现在这个网络里来,现网是WIFI5的,想把2260G用来升级,恢复出厂设置后,插上网线,现网找不到这个AP 解决方案: 1.通电重置AP后,连接AP WiFi进入管理页面,要求先快速配置 2.开始配置…

【计算机网络篇】数据链路层(12)交换机式以太网___以太网交换机

文章目录 &#x1f354;交换式以太网&#x1f6f8;以太网交换机 &#x1f354;交换式以太网 仅使用交换机&#xff08;不使用集线器&#xff09;的以太网就是交换式以太网 &#x1f6f8;以太网交换机 以太网交换机本质上就是一个多接口的网桥&#xff1a; 交换机的每个接口…

1.回溯算法.基础

1.回溯算法 基础知识题目1.组合2.组合-优化3.组合总和|||4.电话号码和字母组合5.组合总和6.组合总和II7.分割回文串8.复原IP地址 基础知识 回溯法也可以叫做回溯搜索法&#xff0c;它是一种搜索的方式。回溯是递归的副产品&#xff0c;只要有递归就会有回溯 因为回溯的本质是穷…

品牌窜货治理:维护市场秩序与品牌健康的关键

品牌在各个渠道通常都会设定相应的销售规则&#xff0c;其中常见的便是区域保护制度&#xff0c;比如 A 地区的货物只能在 A 地区销售&#xff0c;各区域的产品价格和销售策略均有所不同&#xff0c;因此 A 地区的货物不能流向 B 地区&#xff0c;否则就被称为窜货。 窜货现象不…

以数治税时代来临,企业如何应对?

全电发票是数字经济时代发票的新形态&#xff0c;顺应了数字经济潮流。现如今&#xff0c;国家正全力推动行业数字化进程&#xff0c;预计&#xff0c;2025年将基本实现发票全领域、全环节、全要素电子化&#xff0c;实现税务执法、服务、监管与大数据智能化应用深度融合、高效…

车载信息安全:技术要求,实验方法

目录 1. 技术要求 1.1 硬件安全要求 1.2 通信协议与接口安全要求 1.2.1 对外通信安全 1.2.2 内部通信安全 1.2.3 通信接口安全 1.3 操作系统安全要求 1.3.1 操作系统安全配置 1.3.2 安全调用控制能力 1.3.3 操作系统安全启动 1.3.4 操作系统更新 1.3.5 操作系统隔离…

基于大语言模型的多意图增强搜索

随着人工智能技术的蓬勃发展&#xff0c;大语言模型&#xff08;LLM&#xff09;如Claude等在多个领域展现出了卓越的能力。如何利用这些模型的语义分析能力&#xff0c;优化传统业务系统中的搜索性能是个很好的研究方向。 在传统业务系统中&#xff0c;数据匹配和检索常常面临…

综合管廊挂轨巡检机器人:安全高效管理的新力量

综合管廊、电力管廊等作为承载着各类电缆和管线的重要通道&#xff0c;管廊的安全和可靠性对城市的运行至关重要。传统人工巡检效率低、劳动强度大&#xff0c;且可能存在巡检不及时、不准确等问题。难以满足日益复杂和庞大的管廊系统的监控需求。为了解决这些问题&#xff0c;…

Vue3学习笔记<->创建第一个vue项目

新建一个项目目录 找一个盘新建一个目录&#xff0c;我这里在D盘创建一个vuedemo目录作为项目存放的目录。使用idea打开目录。   单击ieda底部的按钮“Terminal”&#xff0c;打开命令行窗口&#xff0c;如果命令行窗口当前目录不是“vuedemo”&#xff0c;就切换到“vuedem…

纳米硅(SiNP)可用于制造锂离子电池 纳米硅粉为其代表产品

纳米硅&#xff08;SiNP&#xff09;可用于制造锂离子电池 纳米硅粉为其代表产品 纳米硅&#xff08;SiNP&#xff09;指尺寸在纳米尺度范围内的硅颗粒。纳米硅具有光吸收谱宽、表面活性高、比表面积大、机械强度高、电学性能好等优势&#xff0c;在石油化工、建筑工程、电子电…

Data Grouping

分组功能将具有相同列值的行组合到相同的数据组中。Grid View 和 Banded Grid Views的支持。 GridControl-Grid View 应用分组 数据分组最初在数据网格中启用&#xff08;默认设置&#xff09;。要按列对数据进行分组&#xff0c;请将列标题拖动到分组面板中。另一个选项是右…

求出某空间曲面下的体积

求出某空间曲面下的体积 flyfish 用小长方体的体积和来逼近该体积 import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation# 定义函数 f(x, y) def f(x, y):return np.sin(np.pi * x) * np.sin(np.pi * y)# 创建网格 x np.linspac…

avi格式视频提示无法播放错误,怎么解决?

AVI视频属于一种无损质量的视频格式&#xff0c;一般来说是兼容Windows系统播放的。播不了可能是由以下原因导致的&#xff1a; 1.文件损坏&#xff1a;可能是原文件在转码压缩的过程中操作不当&#xff0c;导致数据丢失、文件损坏。 2.播放器格式不支持&#xff1a;可能系统的…

使用MappingJackson2HttpMessageConverter把java对象转换成json字符串

使用MappingJackson2HttpMessageConverter把java对象转换成json字符串 如下图&#xff1a; 运行结果如下图&#xff1a; 代码如下&#xff1a; /*** author 望轩* createDate 2024/6/27 15:27* 把java对象转换成json字符串*/ public class EntityToJson {public static voi…

web前端-CSS

CSS CSS概述: CSS是Cascading Style Sheets&#xff08;级联样式表&#xff09;,是一种样式表语言,用于控制网页布局,外观(比如背景图片,图片高度,文本颜色,文本字体,高级定位等等) 可将页面的内容与样式分离开,样式放于单独的.css文件或者HTML某处 CSS是网页样式,HTML是网页…

怎么在必应bing上投放搜索广告?

搜索引擎已成为企业获取潜在客户、提升品牌曝光度的关键平台&#xff0c;微软必应&#xff08;Bing&#xff09;以其庞大的用户基数、精准的定位能力以及与微软生态系统的深度整合&#xff0c;为企业提供了极具价值的广告投放渠道。云衔科技助力企业实现必应bing广告的精准投放…

Hilbert-Huang变换

Hilbert-Huang变换可以高内聚信号特征自适应的将信号分解成若干固有模态函数。更适用于非线性非平稳信号的处理。 缺点&#xff1a; 1、存在端点延拓&#xff1b; 2、分解判据确定&#xff1b; 3、Hilbert解调固有局限性。 一、介绍 Hilbert-Huang变换是经验模态分解&…

Linux:进程和计划任务管理

目录 一、程序和进程 1.1、程序 1.2、进程 1.3、线程 1.4、协程 二、查看进程相关命令 2.1、ps命令&#xff08;查看静态的进程统计信息&#xff09; 第一行为列表标题&#xff0c;其中各字段的含义描述如下 2.2、top命令&#xff08;查看进程动态信息&#xff09; 2…

【强化学习的数学原理】课程笔记--1(基本概念,贝尔曼公式)

目录 基本概念State, Action, State transitionPolicy, Reward, Trajectory, Discount ReturnEpisodeMarkov decision process 贝尔曼公式推导确定形式的贝尔曼公式推导一般形式的贝尔曼公式State ValueAction Value 一些例子贝尔曼公式的 Matric-vector form贝尔曼公式的解析解…