论css如何修改placeholder的样式?

简介: 有没有一种让我们修改 placeholder 的样式的方式?答案肯定是有的,我们可以通过 ::placeholder 来修改 placeholder 的样式。

有没有一种让我们修改placeholder的样式的方式?答案肯定是有的,我们可以通过::placeholder来修改placeholder的样式。

先来让我们认识一下::placeholder,它是一个伪元素,它的作用是用来选择placeholder的,我们可以通过它来修改placeholder的样式,如下所示:

input::placeholder {
   
  color: red;
}

这样我们就可以修改placeholder的颜色了。

1. 伪元素::placeholder

::placeholder是一个伪元素,参考MDN的介绍,它的作用是用来选择placeholder的,我们可以通过它来修改placeholder的样式,如下所示:

伪元素有一个特点,就是并不是所有的dom元素都支持,部分伪元素只有指定的dom元素才支持,比如::placeholder只有inputtextarea才支持,其他的dom元素是不支持的。

2. ::placeholder的兼容性

::placeholder的兼容性如下所示:

  • Chrome 56+
  • Firefox 51+
  • Safari 10.1+
  • Opera 43+
  • Edge 16+
  • IE 11+
  • iOS Safari 10.3+
  • Android Browser 4.4+
  • Android Chrome 56+

更多的兼容性可以参考caniuse

对于IEAndroid Browser来说,它们都不支持::placeholder,但是我们可以通过私有前缀来实现,如下所示:

input:-ms-input-placeholder {
   
  color: red;
}

input::-webkit-input-placeholder {
   
  color: red;
}

input::-moz-placeholder {
   
  color: red;
}

这样我们就可以实现IEAndroid Browser的兼容了。

注意私有前缀的顺序,::-webkit-input-placeholder要放在::-moz-placeholder前面,否则Firefox会失效。

3. ::placeholder的使用示例

现在有一个需求,就是当input的状态为disabled的时候,我们不需要显示placeholder,这个时候我们可以通过::placeholder来实现,如下所示:

<input type="text" placeholder="请输入内容" disabled />
input::placeholder {
   
  color: red;
}

input:disabled::placeholder {
   
  color: transparent;
}

这样我们就可以实现当input的状态为disabled的时候,不显示placeholder了。

这里又多了一个伪类disabled的小知识点,它的作用是用来选择disabled状态的input的,我们可以通过它来修改disabled状态的input的样式,如下所示:

input:disabled {
   
  color: red;
}

6. 结语

本文主要介绍了::placeholder的使用,它是一个伪元素,它的作用是用来选择inputtextareaplaceholder的,具体的使用场景还是根据实际的需求来定。

目录
相关文章
|
2月前
|
前端开发
如何设置 CSS 盒子模型的边框样式?
CSS盒子模型的边框样式可以通过`border`属性设置,包括边框宽度、样式和颜色。例如:`border: 2px solid red;` 设置了2像素宽的红色实线边框。也可分别设置四边,如`border-top`、`border-right`等。
|
1月前
|
前端开发 JavaScript UED
|
2月前
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
217 1
|
2月前
|
编解码 前端开发 JavaScript
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
62 2
|
1月前
|
前端开发
HTML 样式- CSS3
内部样式表适用于单个文件的特别样式,通过&lt;head&gt;部分的&lt;style&gt;标签定义;外部样式表适用于多个页面,通过&lt;link&gt;标签引用外部CSS文件;&lt;style&gt;定义样式,&lt;link&gt;引用资源;已弃用的标签有&lt;font&gt;、&lt;center&gt;、&lt;strike&gt;,属性有color和bgcolor。
HTML 样式- CSS2
HTML样式实例展示了如何使用`font-family`、`color`和`font-size`属性来定义字体样式,以及使用`text-align`属性来设置文本的对齐方式。示例包括标题和段落的样式设置。
|
1月前
|
前端开发
HTML 样式- CSS1
CSS (层叠样式表) 用于为 HTML 元素添加样式,包括颜色、文本、盒子模型等。CSS 可以通过内联样式、内部样式表或外部引用的方式添加到 HTML 中。推荐使用外部引用方式。本教程将介绍如何使用 CSS 为 HTML 添加样式,并提供实例演示。
|
3月前
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
99 1
|
3月前
|
缓存 前端开发
css内部样式和外部样式的性能比较和使用规范
CSS 的内部样式和外部样式各有优缺点,适用于不同场景。
|
3月前
|
前端开发
css <样式一>
css <样式一>
20 1