我想创建一个像 Android Ice Cream Sandwich 一样的输入字段,仅在 HTML/CSS 中,而不使用图像。
我坚持制作这些小边框(下图),如果有人可以提供帮助,那就太好了。
user1577303
问问题
9865 次
1 回答
36
编辑
我想包括 owencm 对偶然发现这个问题的人的评论,因为我觉得它很优雅:
CSS
input.holo[type='text'] {
/* You can set width to whatever you like */
width: 200px;
font-family: "Roboto", "Droid Sans", sans-serif;
font-size: 16px;
margin: 0;
padding: 8px 8px 6px 8px;
position: relative;
display: block;
outline: none;
border: none;
background: bottom left linear-gradient(#a9a9a9, #a9a9a9) no-repeat, bottom center linear-gradient(#a9a9a9, #a9a9a9) repeat-x, bottom right linear-gradient(#a9a9a9, #a9a9a9) no-repeat;
background-size: 1px 6px, 1px 1px, 1px 6px;
}
input.holo[type='text']:hover, input.holo[type='text']:focus {
background: bottom left linear-gradient(#0099cc, #0099cc) no-repeat, bottom center linear-gradient(#0099cc, #0099cc) repeat-x, bottom right linear-gradient(#0099cc, #0099cc) no-repeat;
background-size: 1px 6px, 1px 1px, 1px 6px;
}
HTML
<input type='text' class='holo'/>
JSFiddle http://jsfiddle.net/QKm37/
原始解决方案
<span style="
border-bottom: solid 1px cyan;
border-left: solid 1px cyan;
margin: 20px;
border-right: solid 1px cyan;
overflow: visible;
max-height: 0.2em;
display: inline-block;
padding: 2px;
">
<input type="text" style="
outline: none;
border: none;
background: transparent;
display: inline-block;
position: relative;
bottom: 0.8em;
">
</span>
于 2012-08-20T19:18:22.233 回答