如何使用CSS对文本进行动画处理<a>,而不是对<span>文本进行动画处理



>我已经用 Bootstrap 做了一个菜单导航,我添加了一个简单的过渡到菜单内的超链接......在这里看到它。

正如你所看到的,当你将鼠标悬停在菜单的右侧链接上时,它们会向左移动,因为我已经这样设置了 CSS:

    .rightlinks a:hover{
    padding-right:20px;
}
.rightlinks a, .leftlinks a{
    font-size:15px;
    color:#000 !important;
}
.rightlinks a{
    transition:padding-right 0.45s linear;
}

但问题是我只想对文本而不是图标进行动画处理!看看我的HTML代码以更好地理解:

<nav id="nav_wrapper" class="navbar navbar-default navbar-fixed-top">
        <div class="container-fluid">
            <!-- Brand and toggle get grouped for better mobile display -->
            <div class="navbar-header">
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
            </div>
            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                <ul class="nav navbar-nav">
                    <li class="BKoodakBold leftlinks"><a href="#"><span class="glyphicon glyphicon-user"></span></a></li>
                    <li class="BKoodakBold leftlinks"><a href="#"><span class="glyphicon glyphicon-search"></span></a></li>
                </ul>
                <ul class="nav navbar-nav navbar-center">
                    <a class="navbar-brand" href="#"><img src="assets/img/logo.png" width="50"></a>
                </ul>
                <ul class="nav navbar-nav navbar-right">
                    <li class="BKoodakBold rightlinks"><a href="#">درباره ما &nbsp; <span class="glyphicon glyphicon-info-sign"></span></a></li>
                    <li class="BKoodakBold rightlinks"><a href="#" >میراث گویانت &nbsp; <span class="glyphicon glyphicon-gift"></span></a></li>
                    <li class="BKoodakBold rightlinks"><a href="#">صفحه اصلی &nbsp; <span class="glyphicon glyphicon-globe"></span></a></li>
                </ul>
            </div>
        </div>
    </nav>

如您所见,每个链接都包含一个 span 标签,这是一个图标。由于我的自定义 CSS,它影响了padding-right:20px;但我不希望 span 标签受到此转换的影响。只有菜单链接或文本应该被动画化...

因此,如果您知道这个问题的答案,请告诉我!谢谢:)

<p></p>添加到要移动的文本字段中。然后像这样使用css来动画你的图标。

.rightlinks a p:hover{
    padding-right:20px;
}
.rightlinks a p, .leftlinks a p{
    font-size:15px;
    color:#000 !important;
}
.rightlinks a p{
    transition:padding-right 0.45s linear;
}

还修复了与您的图标对应的文本位置

我把字形跨度拿出来,放在单独的<li>

我让它工作了。 请记住,相邻图标仍将受到影响。

代码笔

最新更新