在不移动其他文本的情况下增加字体大小
Increasing font size without moving other text
我正在学习 HTML 和 CSS,我搜索了这个问题,但没有找到适合我的解决方案。
所以在我的导航栏中,当用户将鼠标悬停在一段文本上时,大小会增加,但也会移动其他文本。我希望增加大小但不移动其他文本。
我的网站
.nav {
margin-top: 0px;
height: 40px;
width: 600px;
background: white;
}
.nav ul {
display: inline-block;
margin: 0;
padding: 0;
}
.nav ul li {
list-style: none;
display: inline;
}
.nav ul li a {
text-decoration: none;
float: left;
display: block;
padding: 10px 20px;
color: black;
font-family: ProximaNova;
font-size: 18px;
}
.nav ul li a:hover {
color: #D46300;
font-size: 22px;
}
<div class="nav">
<ul>
<li><a href="news.html">News</a></li>
<li><a href="servers.html">Servers</a></li>
<li><a href="donate.html">Donate</a></li>
<li><a href="bans.html">Bans</a></li>
<li><a href="support.html">Support</a></li>
</ul>
</div>
这是您要找的吗?
.nav {
margin-top: 0px;
height: 40px;
width: 600px;
background: white;
}
.nav ul {
display: block;
margin: 0;
padding: 0;
position: relative;
}
.nav ul li {
list-style-type: none;
display: inline-block;
width: 20%;
padding: 0;
margin: 0;
float: left;
text-align: center;
}
.nav ul li a {
text-decoration: none;
display: block;
width: 100%;
height: 100%;
line-height: 40px;
color: black;
font-family: ProximaNova;
font-size: 18px;
transition: color .3s cubic-bezier(0.55, 0, 0.55, 0.2) , font-size .3s cubic-bezier(0.55, 0, 0.55, 0.2) ;
}
.nav ul li a:hover {
color: #D46300;
font-size: 22px;
}
<center>
<div class="nav">
<ul>
<li><a href="news.html">News</a></li>
<li><a href="servers.html">Servers</a></li>
<li><a href="donate.html">Donate</a></li>
<li><a href="bans.html">Bans</a></li>
<li><a href="support.html">Support</a></li>
</ul>
</div>
</center>
事实上,不建议为文本动画更改字体大小,因为大多数时候动画是不稳定的。这是一个使用 scale
:
的例子
.nav {
margin-top: 0px;
height: 40px;
width: 600px;
background: white;
}
.nav ul {
display: block;
margin: 0;
padding: 0;
position: relative;
}
.nav ul li {
list-style-type: none;
display: inline-block;
width: 12%;
padding: 0;
margin: 0;
text-align: center;
}
.nav ul li a {
text-decoration: none;
text-rendering: geometricPrecision;
position: relative;
display: block;
width: 100%;
height: 100%;
line-height: 40px;
color: black;
font-family: ProximaNova;
font-size: 18px;
transition: transform .3s cubic-bezier(0.55, 0, 0.55, 0.2) , color .3s cubic-bezier(0.55, 0, 0.55, 0.2);
transform-origin: 50% 30%;
}
.nav ul li a:hover {
color: #D46300;
transform: scale(1.3);
}
<center>
<div class="nav">
<ul>
<li><a href="news.html">News</a>
</li>
<li><a href="servers.html">Servers</a>
</li>
<li><a href="donate.html">Donate</a>
</li>
<li><a href="bans.html">Bans</a>
</li>
<li><a href="support.html">Support</a>
</li>
</ul>
</div>
</center>
这是the fiddle。随意根据自己的喜好进行调整。
发生这种情况是因为当尺寸变大时元素的宽度会发生变化。一种解决方案是给 li 一个明确的宽度:
.nav ul li {
list-style: none;
float: left;
width: 40px;
padding: 10px 20px;
}
.nav ul li a {
text-decoration: none;
display: block;
color: black;
font-family: ProximaNova;
font-size: 18px;
height: 100%;
width: 100%;
}
我正在学习 HTML 和 CSS,我搜索了这个问题,但没有找到适合我的解决方案。
所以在我的导航栏中,当用户将鼠标悬停在一段文本上时,大小会增加,但也会移动其他文本。我希望增加大小但不移动其他文本。
我的网站
.nav {
margin-top: 0px;
height: 40px;
width: 600px;
background: white;
}
.nav ul {
display: inline-block;
margin: 0;
padding: 0;
}
.nav ul li {
list-style: none;
display: inline;
}
.nav ul li a {
text-decoration: none;
float: left;
display: block;
padding: 10px 20px;
color: black;
font-family: ProximaNova;
font-size: 18px;
}
.nav ul li a:hover {
color: #D46300;
font-size: 22px;
}
<div class="nav">
<ul>
<li><a href="news.html">News</a></li>
<li><a href="servers.html">Servers</a></li>
<li><a href="donate.html">Donate</a></li>
<li><a href="bans.html">Bans</a></li>
<li><a href="support.html">Support</a></li>
</ul>
</div>
这是您要找的吗?
.nav {
margin-top: 0px;
height: 40px;
width: 600px;
background: white;
}
.nav ul {
display: block;
margin: 0;
padding: 0;
position: relative;
}
.nav ul li {
list-style-type: none;
display: inline-block;
width: 20%;
padding: 0;
margin: 0;
float: left;
text-align: center;
}
.nav ul li a {
text-decoration: none;
display: block;
width: 100%;
height: 100%;
line-height: 40px;
color: black;
font-family: ProximaNova;
font-size: 18px;
transition: color .3s cubic-bezier(0.55, 0, 0.55, 0.2) , font-size .3s cubic-bezier(0.55, 0, 0.55, 0.2) ;
}
.nav ul li a:hover {
color: #D46300;
font-size: 22px;
}
<center>
<div class="nav">
<ul>
<li><a href="news.html">News</a></li>
<li><a href="servers.html">Servers</a></li>
<li><a href="donate.html">Donate</a></li>
<li><a href="bans.html">Bans</a></li>
<li><a href="support.html">Support</a></li>
</ul>
</div>
</center>
事实上,不建议为文本动画更改字体大小,因为大多数时候动画是不稳定的。这是一个使用 scale
:
.nav {
margin-top: 0px;
height: 40px;
width: 600px;
background: white;
}
.nav ul {
display: block;
margin: 0;
padding: 0;
position: relative;
}
.nav ul li {
list-style-type: none;
display: inline-block;
width: 12%;
padding: 0;
margin: 0;
text-align: center;
}
.nav ul li a {
text-decoration: none;
text-rendering: geometricPrecision;
position: relative;
display: block;
width: 100%;
height: 100%;
line-height: 40px;
color: black;
font-family: ProximaNova;
font-size: 18px;
transition: transform .3s cubic-bezier(0.55, 0, 0.55, 0.2) , color .3s cubic-bezier(0.55, 0, 0.55, 0.2);
transform-origin: 50% 30%;
}
.nav ul li a:hover {
color: #D46300;
transform: scale(1.3);
}
<center>
<div class="nav">
<ul>
<li><a href="news.html">News</a>
</li>
<li><a href="servers.html">Servers</a>
</li>
<li><a href="donate.html">Donate</a>
</li>
<li><a href="bans.html">Bans</a>
</li>
<li><a href="support.html">Support</a>
</li>
</ul>
</div>
</center>
这是the fiddle。随意根据自己的喜好进行调整。
发生这种情况是因为当尺寸变大时元素的宽度会发生变化。一种解决方案是给 li 一个明确的宽度:
.nav ul li {
list-style: none;
float: left;
width: 40px;
padding: 10px 20px;
}
.nav ul li a {
text-decoration: none;
display: block;
color: black;
font-family: ProximaNova;
font-size: 18px;
height: 100%;
width: 100%;
}