如何在选定时更改元素的边框
How to change the border of an element when selected?
我有一个查询,并试图做一些研究,但我甚至试图谷歌我正在寻找什么以及如何措辞都遇到了麻烦。目前,每个div 都有一个标签,然后是一个输入字段。我已经使所有这些输入字段都带有圆角边缘。我的问题是当我单击所选区域时,边缘周围会出现一个矩形边框。图片可以在这里查看:http://www.tiikoni.com/tis/view/?id=6128132
如何更改此边框的外观?
这是我的 css 代码:
div input{
border: 2px solid #a1a1a1;
padding: 10px 40px;
background: #dddddd;
width: 300px;
border-radius: 25px;
}
这是我的 html 的一部分:
<div class="fourth">
<label> Confirm Password: </label>
<input type="text" name="cPassword" class="iBox" id="cPassword" onkeyup="passwordValidation()" placeholder="confirm it!" autocomplete="off">
<p id="combination"></p>
</div>
一种解决方案是使用以下方法删除焦点上的默认轮廓:
div input:focus{
outline: none;
}
div input {
border: 2px solid #a1a1a1;
padding: 10px 40px;
background: #dddddd;
width: 300px;
border-radius: 25px;
}
div input:focus {
outline: none;
}
<div class="fourth">
<label>Confirm Password:</label>
<input type="text" name="cPassword" class="iBox" id="cPassword" onkeyup="passwordValidation()" placeholder="confirm it!" autocomplete="off" />
<p id="combination"></p>
</div>
它不是边框,而是轮廓,因此您可以使用 outline
属性设置其样式。但事情取决于它应该如何改变。删除它,改变它的颜色很容易等;但是设置圆角不是(你只能假装它),请参阅轮廓半径?
简单地删除轮廓不利于可用性和可访问性,因为轮廓"焦点矩形"向用户显示焦点我们在哪里。您可以考虑通过使用其他方法来指示焦点来补偿这一点。一种简单的可能性是更改边框颜色或样式或两者。因此,当聚焦时,元素不会获得轮廓,但其边框会发生变化,使其类似于焦点矩形。下面说明了这些技术,并使重点相当明显;调整以适合您的整体设计:
div input{
border: 2px solid #a1a1a1;
padding: 10px 40px;
background: #dddddd;
width: 300px;
border-radius: 25px;
}
div input:focus {
outline: none;
border-color: red;
background: #ffd;
}
<div class="fourth">
<label for="cPassword"> Confirm Password: </label>
<input type="text" name="cPassword" class="iBox" id="cPassword" onkeyup="passwordValidation()" placeholder="confirm it!" autocomplete="off">
<p id="combination"></p>
</div>
outline
属性,可以像border
一样设置,它通常被分配给合适元素的:focus
状态,也可以设置为none
更多关于 MDN outline
的信息
CSS 大纲属性是用于设置一个或 更多单独的轮廓属性轮廓样式、轮廓宽度 和单个声明中的轮廓颜色。在大多数情况下使用 此快捷方式更可取且更方便。
更多关于MDN :focus
的信息
当元素收到时应用
:focus
CSS 伪类 焦点,来自用户使用键盘选择它或 通过鼠标激活(例如表单输入)。
同样有趣的是,通过将 tabindex
属性添加到元素(例如 div
),您还可以启用:focus
状态的样式。
div input {
border: 2px solid #a1a1a1;
padding: 10px 40px;
background: #dddddd;
width: 300px;
border-radius: 25px;
}
input:focus {
outline: none;
border-color:red;
}
<div class="fourth">
<label>Confirm Password:</label>
<input type="text" name="cPassword" class="iBox" id="cPassword" onkeyup="passwordValidation()" placeholder="confirm it!" autocomplete="off" />
<p id="combination"></p>
</div>
- 如何相对于父边框的外边缘定位元素
- 在元素上绘制边框,但不捕获事件
- 边距和输入元素边框之间的填充颜色
- 更改事件中输入元素的样式边框
- 如何在选定时更改元素的边框
- 元素边框上的 HTML 鼠标悬停事件
- CSS 导航链接样式:删除其他元素的样式,并在将鼠标悬停在选定元素上时删除双边框
- JavaScript 边框高度函数 - 匹配两个元素
- 如果TABLE元素有边框(IE与Chrome),则偏移量不同
- 如何在AngularJS中为img元素设置边框样式
- 在画布元素内的javascript中为new Image()设置边框颜色
- 在 D3 地图中向 SVG 元素添加边框和边框半径
- 使用JQuery检查元素是否有边框
- 如何获取元素的内边距、边框和边距的宽度
- 为d3js的线元素添加边框
- 如果父元素有边框,当鼠标同时退出父元素和子元素时,如何避免来自父元素的鼠标悬停事件
- 给调色板元素边框或标题
- 如何使用jQuery检测元素的左边框
- 为什么bootstrap 3在我的按钮和其他html元素中设置了一个蓝色矩形边框
- 调整元素边框的大小