HTML中设定下划线样式并且指定下划线长度

这篇具有很好参考价值的文章主要介绍了HTML中设定下划线样式并且指定下划线长度。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天笔者在写网页导航栏时,想要给链接加一个悬停下划线,写出来如下

HTMl:

<ul>
    <li><a href="#">首页</a></li>
    <li><a href="#">课程</a></li>
    <li><a href="#">职业规划</a></li>
</ul>

CSS:(关于其他格式的设定略,只看下划线这一段代码)

a {
    text-decoration: none;
    color: black;
}

li a:hover {
    text-decoration: underline;
}

这样确实是设定下划线了,但是效果如下,看上去很难看

HTML中设定下划线样式并且指定下划线长度


既然这样,那么该如何改变一下呢?

其实可以使用border-bottom来实现,代码如下

CSS:

a {
    text-decoration: none;
    color: black;
}

li a:hover {
    padding-bottom: 10px; /*盒子下边距,这里用来指定下划线距离文字的高度*/
    border-bottom: 2px solid skyblue; /*设定一个2px,实线,天蓝色的下边距*/
}

效果图如下:

HTML中设定下划线样式并且指定下划线长度

 HTML中设定下划线样式并且指定下划线长度

可以看的出来,这样写确实比上一种美观不少,而且还可以设定各种参数,但需要注意当元素为块级元素时,下划线不仅仅是文本内容的长度,它会占满一行,所以当给块级元素添加下划线时,要指定宽度,或者将其转变为行级元素(display:inline)


 虽然第二种方法美观了不少,但是有一个小问题:”首页“下面的下划线太短了,不美观,有没有一种方法能将其下划线变长呢?当然有,可以通过将<a>转化为行内块来实现,代码如下:

HTML:

<ul>
    <li><a href="#">首页</a></li>
    <li><a href="#">课程</a></li>
    <li><a class="planning" href="#">职业规划</a></li>
</ul>

CSS:

a {
    display: inline-block; /*将<a>转化为行内块*/
    text-decoration: none;
    color: black;
}

.planning {
    width: 90px; /*由于“职业规划”四个字过长,特别把他盒子整大一点*/
}

li a:hover {
    padding-bottom: 10px; /*盒子下边距,这里用来指定下划线距离文字的高度*/
    border-bottom: 2px solid skyblue; /*设定一个2px,实线,天蓝色的下边距*/
}

效果如下:

HTML中设定下划线样式并且指定下划线长度

诶感觉不错


但是作为一个严谨的技术人来说,这个还不够,仔细观察会发现:将整个链接改为行内块之后,点击整个盒子的区域都会导致跳转(有没有什么软件能将光标一起截图啊,这张图是在obs窗口里截的,可能不太清晰,领会精神就行...)

HTML中设定下划线样式并且指定下划线长度

 这里用定位来实现这个效果,代码如下:

HTML:

<ul>
    <li>
        <a href="#">首页</a>
        <i id="underline">_____</i>
    </li>
    <li>
        <a href="#">课程</a>
        <i id="underline">_____</i>
    </li>
    <li>
        <a href="#">职业规划</a>
        <i id="underline">________</i>
    </li>
</ul>

CSS:

a {
    text-decoration: none;
    color: black;
}

#underline {
    position: absolute;/*绝对定位*/
    top: 1px;
    left: -11px;
    color: skyblue;
    font-size: 30px; /*设置定位和长度(用字体大小调节下划线长度)*/
    visibility: hidden; /*先设置可见度为隐藏*/
}

li:hover>#underline {
    visibility: visible; /*悬停时可见*/
}

效果图如下:

HTML中设定下划线样式并且指定下划线长度

 但是别急,还存在一个小问题:

HTML中设定下划线样式并且指定下划线长度

在悬停时,光标变成了输入状态,而且点击不能跳转了,推测可能是因为<i>跟<a>在同一级的原因,导致无法跳转,将<i>放入<a>中即可

HTML:

<ul>
    <li>
        <a href="#">首页<i id="underline">_____</i></a>
    </li>
    <li>
        <a href="#">课程<i id="underline">_____</i></a>
    </li>
    <li>
        <a href="#">职业规划<i id="underline">________</i></a>
    </li>
</ul>

CSS:

a {
    text-decoration: none;
    color: black;
}

#underline {
    position: absolute;/*绝对定位*/
    top: 1px;
    left: -11px;
    color: skyblue;
    font-size: 30px; /*设置定位和长度(用字体大小调节下划线长度)*/
    visibility: hidden; /*先设置可见度为隐藏*/
}

a:hover>#underline { /*此处修改了包含关系,所以改为a:hover*/
    visibility: visible; /*悬停时可见*/
}

最终效果图:

HTML中设定下划线样式并且指定下划线长度

 HTML中设定下划线样式并且指定下划线长度

这次不会出现任何问题了,做到了仅当鼠标悬停在字上时,才会出现下划线~

有任何问题欢迎一起讨论~

下次见啦~文章来源地址https://www.toymoban.com/news/detail-498561.html

到了这里,关于HTML中设定下划线样式并且指定下划线长度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • css 下划线

    在 CSS 中,可以使用 \\\"text-decoration\\\" 属性来设置文本的下划线。例如: 这会使所有的段落文本都带有下划线。你也可以使用 \\\"text-decoration-style\\\" 属性来设置下划线的样式,例如实线、虚线或点线等。 你还可以使用 \\\"border-bottom\\\" 属性来设置下划线,例如: 这会在段落文本下方添加

    2024年02月12日
    浏览(34)
  • css下划线跟随导航

    2024年01月23日
    浏览(39)
  • a标签设置下划线动画

     

    2024年02月07日
    浏览(42)
  • React Native文本添加下划线

    2024年02月13日
    浏览(38)
  • Java实现驼峰、下划线互转

    Java实现驼峰、下划线互转 1.使用 Guava 实现 先引入相关依赖 1.2 下划线转驼峰 2.自定义代码转 2.1驼峰转下划线 2.2下划线转驼峰

    2024年02月12日
    浏览(42)
  • 电脑下划线在键盘上怎么打出来

    电脑下划线在键盘上怎么打出来, 可能很多人在打字的过程中都不知道如何在键盘上输入下划线的符号,本期内容就和大家详细介绍一些电脑打出下划线的方法吧。 1、电脑大键盘。大键盘区域找到右上角有个 - 线就是中横线,使用shift+- 即可输入下划线。 2、注意下划线输入

    2024年02月07日
    浏览(37)
  • 【CSS】鼠标(移入/移出)平滑(显示/隐藏)下划线

    鼠标移入内容时,下划线从 左 开始绘制到 右 侧结束 鼠标移出内容时,下划线从 左 开始擦除到 右 侧结束 我们给内容添加一个黑色背景 background: #000; 示例 效果 将黑色背景 background: #000; 替换成彩色渐变背景 background: linear-gradient(to right,#ec695c,#61c454); 示例 效果 宽度设置100个

    2024年02月09日
    浏览(53)
  • echarts 饼图 环形图 lable添加下划线

         

    2024年02月09日
    浏览(42)
  • python里面单双下划线的区别

    区别: xx:公有变量,所有对象都可以访问; xxx :双下划线代表着是系统定义的名字。 __xxx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问。代表着类中的私有变量名。 _xxx:单前置下划线,私有化属性和方法,类对象和子类可以访问。不能用“from modu

    2023年04月24日
    浏览(30)
  • 使用CSS实现鼠标悬浮标题出现动态下划线

    今天来实现下面图片的效果     要实现这种效果只需要使用到background这个属性了。 首先创建有个div 输入一段文字 然后在设置background属性  这时候页面就会出现这样子  文字背景填充满了,无法跟动态图一样那么细。别急,css里还有有个background-size属性,设置一下就可以了

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包