如何实现CSS悬停效果下的段落文本多行下划线?

如何实现CSS悬停效果下的段落文本多行下划线?

悬停效果下的段落行内下划线

css 中实现一个悬停效果,在悬停时段落文本上显示一条伸长的下划线。当段落文本是一行时,这是一个简单的问题。但是,当文本换行时,现有方法只能为每一行中的第一行添加下划线。

为了解决这个问题,我们可以通过以下步骤实现为每一行文本都添加下划线:

  1. 使用
    换行符将多行文本分成一行。
  2. 为每个段落文本行应用一个单独的类,例如 test。
  3. 设置 test 类的样式,使用 background 创建下划线,并使用 display: inline 使其与文本行内联。
  4. 在悬停伪类中更新 test 类的样式,将下划线扩展到整个文本行。

修改后的代码示例如下:

<style>
    .box-3 {
        /* ... */
    }

    .box-3>p {
        /* ... */
    }

    .box-3>p:after {
        /* ... */
    }

    .box-3:hover>p:after {
        /* ... */
    }

    .test {
        display: inline;
        transition: all .5s;
        background: linear-gradient(270deg, #00000036, #00ff53cf) 0 0;
        background: linear-gradient(270deg, #00ff53cf, #00ff53cf) 0 0;
        background-size: 100% 2px;
        background-repeat: no-repeat;
        background-position: 0% 100%;
        background-size: 0% 2px;
    }

    .test:hover {
        background: linear-gradient(270deg, #00000036, #00ff53cf) 0 0;
        background: linear-gradient(270deg, #00ff53cf, #00ff53cf) 0 0;
        background-size: 100% 2px;
        background-repeat: no-repeat;
        background-position: 0% 100%;
    }
</style>

<main>
    <div class="container py-5">
        <div class="box-3">
            <p>
                这是一段测试文本 这是一段测试文本 这是一段测试文本
                这是一段测试文本 这是一段测试文本 这是一段测试文本
                这是一段测试文本 这是一段测试文本 这是一段测试文本
                这是一段测试文本 这是一段测试文本 这是一段测试文本
                这是一段测试文本 这是一段测试文本 这是一段测试文本
            </p>
            <p>
                这是一段测试文本 这是一段测试文本 这是一段测试文本
            </p>
            <p class="mb-0">
                这是一段测试文本 这是一段测试文本 这是一段测试文本
            </p>
        </div>
    </div>
</main>

<p class="test">
    这是一段测试文本 这是一段测试文本 这是一段测试文本
    这是一段测试文本 这是一段测试文本 这是一段测试文本
    这是一段测试文本 这是一段测试文本 这是一段测试文本
    这是一段测试文本 这是一段测试文本 这是一段测试文本
    这是一段测试文本 这是一段测试文本 这是一段测试文本
</p>

这样,在悬停时,每一行文本都会出现一条伸长的下划线。

以上就是如何实现CSS悬停效果下的段落文本多行下划线?的详细内容,更多请关注其它相关文章!