深入CSS属性(八): ::placeholder VS :placeholder-shown_html/css_WEB-ITnose
说到这个两个属性::placeholder大家可能都很熟悉,在移动端以及高端浏览器中都有使用,但是:placeholder-shown可能了解的比较少,本篇文章将和大家一起探讨两者的不同及基本应用. placeholder 即”占位符”,在form表单input/ textarea上可以应用placeholder属性,如果你对伪类和伪元素的异同不甚了解,可以参考 “CSS伪类和伪元素的异同”.下面就来讲讲二者的不同:
一. 伪类与伪元素
:placeholder-shown 伪类, Selectors Level 4草案新增 ::placeholder 伪元素, CSS Pseudo-Elements Module Level 4新增
:placeholder-shown, being a pseudo-class, has to select an existing element – it selects the input whenever you’re in the placeholder-showing state. The ::placeholder pseudo-element wraps the actual placeholder text.
二. 兼容性
:placeholder-shown Chrome/Safari/Opera浏览器支持较好,移动端浏览器支持较差,参考链接: CanIUse::placeholder 现代浏览器基本都支持, 但是需要添加不同浏览器厂商前缀,IE10 以下浏览器不支持, 参考链接: CanIUse
三. 开发中使用
:placeholder-shown, 常用来设置input 没有输入时的提示,如下:
<style type="text/css">.text { width: 400px; height: 22px; line-height: 22px; border: 1px solid #ccc;}.demo:placeholder-shown { border-color: #00f; // 无输入时,边框显示蓝色 color: #f00; // 只对无输入时的光标颜色有效} </style><input type="text" class="demo" placeholder="请输入用户名称">
::placeholder ,常用来设置placeholder text文本的颜色,根据不同浏览器支持情况设置前缀:
<style type="text/css">.text { width: 400px; height: 22px; line-height: 22px; border: 1px solid #ccc;} ::-webkit-input-placeholder { /* Chrome/Opera/Safari */ color: #f00;}::-moz-placeholder { /* Firefox 19+ */ color: #f00;}:-ms-input-placeholder { /* IE 10+ */ color: #f00;}:-moz-placeholder { /* Firefox 18- */ color: #f00;} </style><input type="text" class="demo" placeholder="请输入用户名称">
那么你可能会问,如果我想兼容IE10以下浏览器该怎么办呢,那只能用js来实现了,具体可以参考这篇文章” placeholder属性多浏览器支持兼容性方案“, 当然还有个开源的 placeholder.js可以参考.
四. 支持的Styles
::placeholder 支持下面这些属性:(注意:不支持text-align属性) All properties that apply to thepseudo-element also apply to thepseudo-element, eg: font properties color background properties word-spacing letter-spacing text-decoration vertical-align text-transform line-height text-indent opacity::placeholder-shown ,支持的属性较多,使用起来也比较灵活,(支持text-align属性).
五. 补充如何实现select 元素placeholder
<style type="text/css"> .sel-placeholder { color: #999; /* 和input::placeholder 默认颜色一致 */ } .sel-placeholder option { color: #333; } .sel-placeholder option:first-child { color: #999; /* 第一个选项的颜色 */ }</style><form action="http://user/submit" method="post"> <select name="children"> <option disabled selected>请选择子女个数</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select> <input type="submit" value="Submit"></form>
可以通过js 增加和删除类来改变选中是的select字体颜色. 当然,还有的像如下这样用的:
<form action="http://user/submit" method="post"> <select name="children"> <option selected hidden>select one</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select> <input type="submit" value="Submit"></form>
如果你想知道有什么不同,可以写个实例运行下.

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。

HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。

HTML、CSS和JavaScript在网页开发中的角色分别是:HTML负责内容结构,CSS负责样式,JavaScript负责动态行为。1.HTML通过标签定义网页结构和内容,确保语义化。2.CSS通过选择器和属性控制网页样式,使其美观易读。3.JavaScript通过脚本控制网页行为,实现动态和交互功能。

HTML是构建网页结构的基石。1.HTML定义内容结构和语义,使用、、等标签。2.提供语义化标记,如、、等,提升SEO效果。3.通过标签实现用户交互,需注意表单验证。4.使用、等高级元素结合JavaScript实现动态效果。5.常见错误包括标签未闭合和属性值未加引号,需使用验证工具。6.优化策略包括减少HTTP请求、压缩HTML、使用语义化标签等。

HTML、CSS和JavaScript是构建现代网页的核心技术:1.HTML定义网页结构,2.CSS负责网页外观,3.JavaScript提供网页动态和交互性,它们共同作用,打造出用户体验良好的网站。

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增强WebevebDevelopment。
