我想在一个 input type='text'
的HTML元素的右上角添加一个小三角形,就像Excel用于指示注释的方式。
这个问题的被接受答案展示了如何为表格单元格实现此效果。
我尝试把“note”css类应用于我的输入元素,但它没有起作用。你有什么建议吗?
我想在一个 input type='text'
的HTML元素的右上角添加一个小三角形,就像Excel用于指示注释的方式。
这个问题的被接受答案展示了如何为表格单元格实现此效果。
我尝试把“note”css类应用于我的输入元素,但它没有起作用。你有什么建议吗?
input
。你可以使用与链接帖子中描述的相同的CSS(在这里),但是你必须将类应用于祖先元素。
.note {
position: relative;
display: inline-block;
}
.note:after {
content: "";
position: absolute;
top: 0;
right: 0;
width: 0;
height: 0;
display: block;
border-left: 20px solid transparent;
border-bottom: 20px solid transparent;
border-top: 20px solid #f00;
}
<div class="note">
<input type="text">
</div>
给定一个简单的输入框
<input type="text" />
box-shadow
来创建三角形,例如:
结果(三角形在外部)
代码
input {
padding: 10px;
border: 1px #ccc solid;
margin: 15px;
box-shadow: 0 -12px 0 #fff, 12px 0px 0 #fff,
1px -12px 0 #fff, 2px -11px 0 #fff,
3px -10px 0 #fff, 4px -9px 0 #fff,
5px -8px 0 #fff, 6px -7px 0 #fff,
7px -6px 0 #fff, 8px -5px 0 #fff,
9px -3px 0 #fff, 10px -2px 0 #fff,
11px -1px 0 #fff, 12px 0 0 #fff,
8px -12px 0 #9bc;
}
outline
和outline-offset
代替border
属性创建外边框的幻象。所有的阴影都不会从它们的位置移动,只需给予足够的偏移空间来包裹它们。
结果(三角形内部)
代码
input {
padding: 0;
border: 0;
outline: 1px #ccc solid;
outline-offset: 15px;
...
}
要将所有文本输入框标记为红色角落,您可以使用以下代码:
textarea, input[type="text"], input:not([type]) {
background: linear-gradient(225deg, red 5px, white 5px);
}
required
属性和选择器:
[required] { background: linear-gradient(225deg, red 5px, white 5px); }
<input placeholder="optional field">
<input placeholder="mandatory field" required>