学习CSS第三天,无js实现小动效(娱乐)

简介: 学习了几天CSS,今天去天猫看到了一个小特效。于是就像试着结合目前学到的来实现。这里的鼠标动效主要借助伪类选择器来实现,所以没有使用js ,好,先来看一下效果,开整!!!

6d099c7d750a4ebe8dcf3a3812b02ebb.gif


1.html结构


无序列表


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>案例</title>
</head>
<body>
    <div class="nav">
        <ul>
            <li><a href="#">首页</a></li>
            <li><a href="#">发现</a></li>
            <li><a href="#">我的</a></li>
            <li><a href="#">动态</a></li>
            <li><a href="#">留言</a></li>
            <li><a href="#">友链</a></li>
            <li><a href="#">反馈</a></li>      
        </ul>
    </div>    
</body>
</html>


2.CSS部分



1.清除body的影响


*{
     margin: 0;
     padding: 0;
}

da42233ed9df489fba5c01214dc08279.png


2.设置背景图


body{
            background-image: url(../image/src=htt.jfif);
        }

0b87fc099066414a87dd02dfc48b30f7.png


3.把链接的位置放在中间


.nav{
            width: 960px;
            height: 40px;
            margin: 100px auto;<!--居中-->
        }

e106417296354f27a73e58833a76e6fa.png


4.去掉超链接小圆点


ul{
            list-style: none;
        }

b2e65bd55dd84c42884037ba898b7db1.png


5.通过向右浮动 向右的间距10个像素设置超链接的样式


height: 40px;
line-height: 40px;


设置高度和行高一样大小可以使文字水平居中


.nav ul li{
            float: right;
            margin-right: 10px;
            width: 120px;
            height: 40px;
            line-height: 40px;
            text-align: center;
            background-image: url(../image/src=htt.jfif);
            background-repeat: repeat-x;
        }

dded99d180e24e6481c4e9b0395f475f.png


6.通过伪类选择器设置超链接样式以及动效改字体改大小改背景颜色


.nav ul li a:link, ul li a:visited {
            text-decoration: none;
            color: white;
        } 
.nav ul li a:hover{
            background-color:rgb(248, 145, 10);
            font-family: "楷体";
            font-size: 24px;
            color:black;
        }

6980ba3f558942cbb3fd9d4fb7b97777.png


这里可以看到显示的范围是文字的范围,这是只需要将a标签设置宽高即可


6.最后


我们知道a标签是行内元素,无法对其设置宽高,这时就要用到display: block;意思是将行内元素改为转换为块级元素


.nav ul li a{
            width: 120px;
            height: 40px;
            display: block;
        }

ad9ae34866824e49a397530baeaf3901.png


3.完整代码



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>display案例</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        body{
            background-image: url(../image/src=htt.jfif);
        }
        ul{
            list-style: none;
        } 
         .nav{
            width: 960px;
            height: 40px;
            margin: 100px auto;
        } 
        .nav ul li{
            float: right;
            margin-right: 10px;
            width: 120px;
            height: 40px;
            line-height: 40px;
            text-align: center;
            background-image: url(../image/src=htt.jfif);
            background-repeat: repeat-x;
        } 
         .nav ul li a:link, ul li a:visited {
            text-decoration: none;
            color: white;
        } 
        .nav ul li a{
            width: 120px;
            height: 40px;
            display: block;
        } 
         .nav ul li a:hover{
            background-color:rgb(248, 145, 10);
            font-family: "楷体";
            font-size: 24px;
            color:black;
        }  
    </style>
</head>
<body>
    <div class="nav">
        <ul>
            <li><a href="#">首页</a></li>
            <li><a href="#">发现</a></li>
            <li><a href="#">我的</a></li>
            <li><a href="#">动态</a></li>
            <li><a href="#">留言</a></li>
            <li><a href="#">友链</a></li>
            <li><a href="#">反馈</a></li>
        </ul>
    </div>
</body>
</html>


相关文章
|
3月前
|
移动开发 前端开发 JavaScript
征信报告修改器,征信报告生成器,制作软件无痕修改软件【js+html+css】
本项目为信用评分模拟器教学工具,采用HTML5实现,仅供学习参考。核心功能通过JavaScript构建,包含虚拟数据生成、权重分配及信用因素分析(如还款记录、信用使用率等)。
|
3月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
3月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
3月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
3月前
|
前端开发 JavaScript 容器
制作b超单生成器, 假怀孕b超单图片制作, p图医院证明【css+html+js装逼恶搞神器】
本资源提供一个适合用于熟人之间恶搞的工具,效果逼真,仅供学习参考与娱乐。包含前端技术学习要点:语义化布局、响应式设计、Flexbox、图片自适应
|
3月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
3月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
|
3月前
|
前端开发 容器
处方单图片生成器, 处方单在线制作免费,js+css+html恶搞神器
这是一个电子处方模拟生成系统,使用html2canvas库实现图片导出功能。系统生成的处方单包含多重防伪标识,并明确标注为模拟数据,仅供学习
|
3月前
|
前端开发
医院检查单子p图软件,在线制作仿真病历,js+css+html装逼神器
本示例展示如何用HTML/CSS创建医疗信息页面,内容仅供学习参考。页面模拟“阳光医院体检中心”场景,提供预约功能验证(如姓名、手机号、日期)。所有数据仅用于演示