我读过几篇关于在HTML5中使用::-webkit-input-placeholder
对输入字段的占位符进行样式化的文章。它工作得很完美,除了一件事。
如果我试图增加字体大小到大于16px的值,文本会在底部被“剪切”。不管输入本身的高度和填充如何,都会发生这种情况。有人知道避免这个问题的方法吗,使用纯CSS或JavaScript?
我添加了两个inputfield的屏幕截图,其中占位符的字体大小为20px
我读过几篇关于在HTML5中使用::-webkit-input-placeholder
对输入字段的占位符进行样式化的文章。它工作得很完美,除了一件事。
如果我试图增加字体大小到大于16px的值,文本会在底部被“剪切”。不管输入本身的高度和填充如何,都会发生这种情况。有人知道避免这个问题的方法吗,使用纯CSS或JavaScript?
我添加了两个inputfield的屏幕截图,其中占位符的字体大小为20px
5条答案
按热度按时间jslywgbw1#
输入及其占位符必须具有匹配的字体样式
关于占位符可访问性的说明
问题中包含的屏幕截图显示占位符值被用作标签。此技术可能会给辅助技术用户带来问题,并被视为可访问性反模式。
placeholder
属性不应用作标签的替代项。占位符是一个简短的提示,旨在帮助用户输入数据,因此不应与标签元素相同。占位符可能不可用于辅助技术,因此不能依赖它来传达可访问的名称或说明-它的作用类似于回退内容。另见:
wbgh16ku2#
占位符样式不会调整输入字段的大小,也不会影响其框模型。请在输入中添加字体大小以修复占位符,防止其被截断。
您也可以考虑为其他浏览器添加占位符样式...
xkftehaa3#
您必须添加“溢出:visible'到css中的占位符以消除裁剪。
ctzwtxfj4#
djp7away5#
同时,浏览器供应商实现了
::placeholder
CSS伪元素。您可以在caniuse.com上找到浏览器兼容性的当前状态。
目前(2019-04-29)有以下注解:
::-网页工具包输入-Chrome/Safari/Opera浏览器的占位符(Chrome issue #623345)
::-ms-input-Edge的占位符(也支持webkit前缀)