CSS中改变超链接的长宽

news/2024/11/15 21:53:51/

关键词:display: block;

eg. 我希望改变下图按钮链接的背景颜色,当鼠标悬浮时(:hover)文本颜色为白色,背景颜色为红色。(图1的home按钮变为图2)
在这里插入图片描述
图一
在这里插入图片描述
图二


HTML

<li><a href="#">Home</a></li>
<li><a href="#">finding us</a></li>
<li><a href="#">course</a></li>
<li><a href="#">staff</a></li>
<li><a href="#">media</a></li>
<li><a href="#">Home</a></li>

第一版错误的CSS

nav a {outline: none;text-decoration: none;color: #a66;line-height: 50px;height: 50px;text-align: center;
}nav a:hover {color: rgb(255, 255, 255);background:#a66;
}li {border: #a66 solid 1px;
}

我原本的想法是a的背景颜色的范围就是li的大小,结果:

在这里插入图片描述


在这里插入图片描述

?为啥和预想的不一样。所以我又仔细研读了MDN的styling link这一部分。发现需要添加display: block; /*用于设置a的长宽背景等*/这样就可以修改超链接的长宽了。

所以正确的CSS是这样的!

nav a {outline: none;text-decoration: none;display: block;   /*用于设置a的长宽背景等*/width: 100%;  /*表明a的宽和li一致*/height: 50px;  /*设置长*/line-height: 50px;color: #a66;border: #a66 solid 1px;text-align: center;
}nav a:hover {color: rgb(255, 255, 255);background:#a66;
}

此时超链接的范围是height: 50px和width: 100%等于li。

display: block;   //⚠️我写的是纵向的nav,所以没有给li设置diaplay,因为li本身是block元素。display:block表示元素块状分布,每一个元素占新的行,可以调整height和width属性。属于html默认布局display: inline;    //表示元素在同一行。不能调整height和width属性。display: inline-block; //这对于不希望项目突破到新行但希望宽度和高度能修改并避免重叠的情况非常有用。比如横向排列的nav

如果要达到下图效果(横向的nav)是这样的

在这里插入图片描述
在这里插入图片描述

<ul><li><a href="images/crown.jpeg">Crown</a></li><li><a href="images/light.jpg">Fireworks</a></li><li><a href="images/mission.jpeg">Mission</a></li><li><a href="images/leave.jpeg">Leave</a></li></ul>
a {color: rgb(75, 75, 75);background-color: transparent;font-weight: bold;text-decoration: none;border: rgb(94, 94, 94) solid 1px; /*给链接设置外框*/display: inline-block; /*inline-block用来修改链接的长宽。如果是block就变成纵向的nav了,如果是inline,就无法修改长宽了。所以只能用inline-block. */width: 100px;     /*这是链接的长*/height: 30px;  /*这是链接的高*/line-height: 30px;  /*让文本在链接的border中线对齐*/text-align: center; /*让文本在border中居中*/
}li {padding: 1em;list-style: none;display: inline-block; /*让li一行排开而不是纵向排开。改成inline也可以,但是上下的padding是无效的,只有左右有效,我想padding的上下左右都生效,让行间距大一点,所以用的inline-block*/}
a:hover {background-color: #333;color: rgb(255, 255, 255);
}

http://www.ppmy.cn/news/174785.html

相关文章

android apk的sepolicy domain是如何指定的呢

1 ps -AZ 可以看到对应进程的sepolicy domain信息 如下面的 platform_app gmscore_app priv_app mediashell_app u:r:platform_app:s0:c512,c768 u0_a66 954 383 1109868 51060 do_epoll_wait 0 S com.android.systemuiu:r:gmscore_app:s0:c512,c768 u0…

Linux手动配置虚拟机网络的两种方式

nmcli 命令的方式 在我们的ens160网卡上添加ip地址、网关、dns、获取IP方式改为静态、最后connection.autoconnect 设为yes 我们在添加ip时注意添加我们的网段 dns可以是114.114.114.114或者8.8.8.8都可以 [rootredhat ~]# nmcli connection modify ens160 ipv4.addresses 19…

vue3.0+vite+router搭建项目(三):配置vite.config.js

前言&#xff1a;上一篇文章中&#xff0c;我们已经讲解了项目搭建的方法以及过程总出现bug的解决方法。这篇文章主要讲解一下配置。 一、vite 配置别名 使用编辑器打开搭建号的项目 进入配置文件 vite.config.js。 import { defineConfig } from viteimport vue from vitejs…

6---6

#include<stdio.h>int main(void) {int number;printf("Please enter a number:");scanf_s("%d", &number);for (int i 2; i * i < number; i){if ((i * i) % 2 0){printf("%d\n", i * i);}}return 0; }

【概率论基础进阶】随机事件和概率-古典概型与伯努利概型

文章目录 一、古典概型二、几何概型三、伯努利概型 一、古典概型 定义&#xff1a;当试验结果为有限 n n n个样本点&#xff0c;且每个样本点的发生具有相等的可能性&#xff0c;如果事件 A A A由 n A n_{A} nA​个样本点组成&#xff0c;则事件 A A A的概率 P ( A ) n A n …

Oracle 自带性能诊断工具介绍

statspack Oracle Statspack 工具从 Oracle 8.1.6 开始引入&#xff0c;通过 Statspack 可以很容易地收集数据库性能数据&#xff0c;并通过这些数据进而分析确定 Oracle 数据库的瓶颈所在。该工具9i 必用,10g,11g,12c 兼容&#xff0c;后期awr出来后&#xff0c;Oracle 建议…

NTU-RGBD骨架数据分析

参考文献&#xff1a; NTU RGBD动作识别数据集 NTU-RGBD骨架数据分析 NTU-RGBD Dataset NTU RGB D动作识别数据集由56,880个动作样本组成&#xff0c;包含每个样本的RGB视频&#xff0c;深度图序列&#xff0c;3D骨架数据和红外视频。此数据集由3个Microsoft Kinect v.2相…

matlab读取多个文件 tecplot格式数据

平常程序输出的文件格式是.dat 一般用tecplot打开&#xff0c;画些云图&#xff0c;但是原始的数据有时候需要进行处理或者截取&#xff0c;就需要用matlab处理一下&#xff0c;附上我常用的风场文件读取处理程序。 文件格式&#xff1a;第一列x位置&#xff0c;第二列y位置&…