是的
可以很简单地实现占位符的溢出省略:
::placeholder{
text-overflow:ellipsis;
}
::placeholder{
text-overflow:ellipsis;
}
input{width:150px;}
<input placeholder="A long placeholder to demonstrate"></input>
也可以使用属性选择器来实现结果:
[placeholder]{
text-overflow:ellipsis;
}
这也会增加在某些浏览器中将省略号添加到输入值的副作用。这可能是也可能不是所希望的。
[placeholder]{
text-overflow:ellipsis;
}
input{width:150px;}
<input placeholder="A long placeholder to demonstrate"></input>
<input value="A long value to demonstrate"></input>
在 Firefox 和 Chrome 中测试和工作。
像往常一样,IE 不会打球!
老浏览器
我创建了一个小 CSS hack 来模拟占位符。使用此代码来模拟您的输入占位符。它有点脏,但可以提供早至IE6的支持。
.ellipsis{
box-sizing:border-box;
position:relative;
padding:0 5px;
background:#fff;
color:rgba(0,0,0,0.5);
width:100%;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.ellipsis input{
box-sizing:border-box;
position:absolute;
top:0;
left:0;
height:100%;
width:100%;
display:block;
background:none;
border:1px solid #ddd;
color:#000;
padding:0 5px;
}
.ellipsis input:focus{
background:#fff;
}
<div class="ellipsis">
A Long Placeholder to demonstrate A Long Placeholder to demonstrate A Long Placeholder to demonstrate
<input></input>
</div>
超出此范围的支持将需要 javascript。