0

我想在将鼠标悬停在链接上时放大链接的字体大小,这可以通过 CSS 代码中的以下行轻松实现。

a:hover {font-size:110%}

但是,当链接字体大小增加时,它也会“膨胀”<div>我的链接所在的大小,这会“挤压”它下面的 div 并使整个页面“摇晃”。

有没有办法保持<div>相同的大小,而链接字体大小放大?

4

4 回答 4

1

你可以让你div有一个固定的大小,并且用一个position:absolute;为你的<a>,使它的字体变大不会影响到<div>

演示

HTML

<div id="content">
    <a href="#">Hey there</a>
</div>
<div id="more">More Divs</div>

CSS

a
{
    font-size:16px;
    position:absolute;

}
a:hover
{
    font-size:110%;
}
#content
{
    position:relative;
    height:20px;
}
于 2013-02-05T07:02:10.493 回答
1

上面的代码有效,但这里还有另一种可能适用于您的解决方案。没有理由使用 % ,如果有,这个文档仍然有效。

有 2 个示例:字体大小为像素,字体大小为百分比。

http://jsfiddle.net/MJUjP/

HTML

<div class="main">
    <div class="content">
        PX
    </div>
</div>

<div class="main">
    <div class="content2">
        %
    </div>
</div>

CSS

.main {
    /*Styling for better viweing*/
    background: #000fff;
    float:left;
    height: 100px;
    width: 100px;
}
.content{
     /*Styling for better viweing*/
    background: #ff0000;
    margin: 8px;
    border: #000 1px solid;
    float:left;
    text-align: center;

    /*Set Size of DIV snd font*/
    height:80px;
    width:80px;
    font-size:30px;

    /*Optional to hide overflow*/
    overflow-x:hidden;
    overflow-y:hidden;
}
.content:hover{
    /*Set New Font Size*/
    font-size:80px;
}


.content2{
     /*Styling for better viweing*/
    background: #ff0000;
    margin: 8px;
    border: #000 1px solid;
    float:left;
    text-align: center;

    /*Set Size of DIV snd font*/
    height:80px;
    width:80px;
    font-size:100%;
    line-height:100%;

    /*Optional to hide overflow*/
    overflow-x:hidden;
    overflow-y:hidden;
}
.content2:hover{
    /*Set New Font Size*/
    font-size:800%;
    line-height:110%;
}
于 2013-02-05T07:07:54.223 回答
0

HTML:

<div id="mydiv">
   <a href="#">Link</a>
</div>

CSS:

#mydiv a {
   display:block;
   font: 16px/30px Arial, Helvetica, sans-serif;
   border:1px solid #CCC;
   padding:10px;
}
#mydiv a:hover {
   font-size: 200%;
}

查看直播http://jsfiddle.net/imtiazmasrur/rqMLd/

于 2013-02-05T07:42:12.760 回答
0

听起来您emdiv. 这通常不是一件坏事,但如果你增加字体大小,你也会增加em. 正常情况下1 em = 16px

您可以使用您的属性的rem长度值。这样您就可以使用 html 根目录的标准字体大小。(只要你没有做这样的事情。那会改变to的标准值。)heightdivhtml { font-size 35px; }em35px

或者你可以去 oldschool 并px在你的div.

于 2020-06-25T10:24:46.927 回答