博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何实现label长度固定,文字分散分布的效果
阅读量:7069 次
发布时间:2019-06-28

本文共 952 字,大约阅读时间需要 3 分钟。

我们经常会看到表单填写时前面的label,都是左右对齐的,即使字数不一样。就像下面的效果:

fensan

解析

这种效果主要通过text-align-last属性来实现。

  • text-align-last:规定如何对齐文本的最后一行

在菜鸟教程上对于这个属性有这样的描述:

text-align-last 属性只有在 text-align 属性设置为 "justify" 时才起作用。

但我尝试了一下,当文本只有一行的时候,text-align属性不设置,text-align-last也是有用的。当然这只是针对非IE和Safiri而言。

text-align属性对多行文本的最后一行文本无效。

/*css*/.label {      width: 200px;      text-align-last: justify; }/*html*/
产 品

这样的写法,对IE浏览器和safari浏览器就不起作用了。因为text-align-last不支持这两个浏览器。

针对这个问题,我们可以用伪类来解决。

/*css*/.label {      width: 200px;      height: 30px; /*高度需要添加,不然文字下面会多出一些空隙*/      text-align: justify; } .label:after{        content: '';        display: inline-block;        width: 100%;      }/*html*/
产 品

有三点需要注意:

  1. 因为加了伪类之后,相当于在标签的文本后又加了一行,所以text-align-last就不起作用了,需要加上text-align
  2. 因为加了伪类之后,文本后面会多出一行,即使给伪类设置高度为0也不行。所以必须给.label属性加上一个高度。区别如下:

height

  1. 加了伪类之后,标签的文字之间必须要存在一个空格(一个就行,不用太多),否则的话,没有效果。

两种方案对比

第二种方法相对于第一种方法来说,兼容性更好,我在多个浏览器测试了一下,都没有问题。

第一种方案更简洁,但是不支持ie和safari,所以建议大家还是用第二种方案更省心。

转载地址:http://prhll.baihongyu.com/

你可能感兴趣的文章
人人都能学会的python编程教程11:定义函数
查看>>
《CSDN:2019 区块链开发者报告》:Qtum 公链设计与开发细节揭秘(上篇)
查看>>
全球手机市场尽显萧条之像,国产手机厂商如何逆流而上?
查看>>
手把手教你使用Go基于zookeeper编写服务发现「原创」
查看>>
深入解析webpack 插件html-webpack-plugin
查看>>
关于Netty的一些理解、实践与陷阱
查看>>
组件化工具BeeHive(二):组件化实践
查看>>
消息队列-ActiveMQ
查看>>
AI考拉技术分享-Node基础架构专题(一)
查看>>
关于git的操作
查看>>
Linode CentOS 7 使用 Mina 部署 Rails API 项目 Postgresql 9.6 + Nginx + Puma + Rbenv
查看>>
git下载仓库指定目录
查看>>
AVL树
查看>>
ios 笔记
查看>>
十六、类的真正形态
查看>>
laravel中Dingo api如何Custom ExceptionHandler
查看>>
前端_JavaScript_API
查看>>
关于Apt注解实践与总结【包含20篇博客】
查看>>
JS专题之memoization
查看>>
Java的8中基本数据类型
查看>>