gpt4 book ai didi

html - 下拉菜单文本忽略行,不继承字体大小

转载 作者:行者123 更新时间:2023-11-28 07:38:11 24 4
gpt4 key购买 nike

我正在构建一个简单的导航栏,嵌套 <ul>div 中列出.

正在关注 this tutorial ,我尝试在我的导航栏中实现一个简单的 css 下拉菜单。

我正在使用 reset.css和一个名为 ionicons 的自定义图标字体,但我构建了没有它们的片段并重新创建了问题。

出于某种原因,悬停时显示的下拉菜单有更大的文本,并且文本比字体行大(重叠)。我以为下拉菜单只会从父元素继承 font-style,但显然不是这样。

我尝试手动设置它,但到目前为止还无法更改它。

我不知道该尝试什么以及我做错了什么。下面的片段

html {
font-family: 'Lato', sans-serif;
}
@media (min-width: 992px) {
html {
margin: 0 5%;
}
}
/********************************
NAVBAR
********************************/

#navbar {
background-color: #913D88;
}
@media (min-width: 992px) {
#navbar {
border-radius: 10px;
}
}
#navbar ul {
list-style: none;
}
#navbar ul li {
padding: 0.5em;
font-size: 1.1em;
font-weight: 400;
display: inline-block;
}
@media (min-width: 767px) {
#navbar ul li {
font-size: 1.2em;
}
}
#navbar ul li a {
padding: 0.3em;
background-color: #913D88;
}
#navbar ul li a:visited,
#navbar ul li a:link {
color: #fff;
text-decoration: none;
}
#navbar ul li a:hover {
color: #491f45;
background-color: #c371ba;
}
#navbar ul .dropdown {
position: relative;
}
#navbar ul .dropdown:hover > .drop-nav {
display: block;
}
#navbar ul .dropdown .drop-nav {
position: absolute;
display: none;
}
#navbar ul .dropdown .drop-nav li {
padding: 0.5em;
display: block;
background-color: #913D88;
border-bottom: 1px solid black;
}
#navbar ul .dropdown .drop-nav a {
padding: 0.3em;
background-color: #913D88;
}
#navbar ul .dropdown .drop-nav a:visited,
#navbar ul .dropdown .drop-nav alink {
color: #fff;
text-decoration: none;
}
#navbar ul .dropdown .drop-nav a:hover {
color: #491f45;
background-color: #c371ba;
}
<!doctype html>
<html>

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">

<title>ZIC Knjižnica</title>

<link href='http://fonts.googleapis.com/css?family=Lato:400,700,900&amp;subset=latin-ext,latin' rel='stylesheet' type='text/css'>

</head>

<body>
<div id="navbar">
<ul>
<li><a href="http://www.ijs.si/ijsw">IJS</a>
</li>
<li><a href="#">knjižnica</a>
</li>
<li class="dropdown"><a href="#">zaloga&nbsp;<span class="ion-arrow-down-b"></a>
<ul class="drop-nav">
<li><a href="#">novi izvodi tiskanih revij</a>
</li>
<li><a href="#">elektronske revije</a>
</li>
<li><a href="#">katalog</a>
</li>
<li><a href="#">baze podatkov</a>
</li>
</ul>
</li>
<li><a href="#">storitve&nbsp;<span class="ion-arrow-down-b"></a>
</li>
<li><a href="#">ENG</a>
</li>
</ul>
</div>

</body>

</html>

最佳答案

正如您在以下资源中所读到的,em 单位是父值的相对值。因此,如果您的父元素具有 font-size:1.1em 并且其子元素也具有 font-size:1.1em 那么子元素的字体大小实际上是 1.1*1.1*{Top parent font-size} 因此,这些链接看起来更大。

解决方案 1:例如,如果我将 #navbar ul li 更改为 px 大小,则主链接和悬停链接的字体大小将相同.

#navbar ul li{
font-size: 14px;
}

解决方案 2:1em 设置为下拉列表中链接的字体大小。

#navbar ul .dropdown .drop-nav a{
font-size: 1em;
}

关于行高故障,经过几次检查后,故障似乎是由填充引起的。考虑重新设置dropdown li a元素的padding,如下:

#navbar ul .dropdown .drop-nav a{
padding: 0;
}

Resource: Chapter 4: The amazing em unit

When used to specify font sizes, the em unit refers to the font size of the parent element. So, in the example above, the font size of the h1 element is set to be two times the font size of the body element. In order to find what the font size of the h1 element will be, we need to know the font size of body . Since this isn't specified in the the style sheet, the browser will have to find it from somewhere else - a good place to look is in the user's preferences. So, if the user has set the normal font size to be 10 points, the size of the h1 element will be 20 points. This will make document headlines stand out relative to the the surrounding text. Therefore: always use ems to set font sizes.

关于html - 下拉菜单文本忽略行,不继承字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31111866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com