html - 如何使用 CSS 为 <a> 文本而不是 <span> 设置动画

标签 html css twitter-bootstrap transition web-animations

我用 Bootstrap 做了一个菜单导航,我在菜单中添加了一个简单的超链接转换...看到它 here .

如您所见,当您将鼠标悬停在菜单的右侧链接上时,它们会向左移动,因为我已将 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;
}

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

关于html - 如何使用 CSS 为 <a> 文本而不是 <span> 设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44552901/

相关文章:

html - 随着浏览器宽度/高度的变化,使用 CSS 动态调整自定义表单 [提交] 的大小?

html - Bootstrap container-fluid 不会在平板电脑中扩展

javascript - Bootstrap 弹出框居中对齐

php - 加载太多图片,减慢我的网站

android - 字体不适用于 android chrome 和 firefox

javascript - 元素不会附加到容器

html - 垂直居中页面,如果大于屏幕则使其滚动

html - 如何在居中的 flexbox div 容器中换行?

javascript - 如何在 onmouseleave 和点击鼠标左键时触发一些功能?

javascript - chrome 中的复选框很小且不可点击