【问题标题】:How to remove the blue rectangle when element is focused? [duplicate]元素聚焦时如何删除蓝色矩形? [复制]
【发布时间】:2018-10-22 06:38:12
【问题描述】:

如何在元素获得焦点时移除蓝色矩形?我见过类似的问题,但这些问题链接到外部站点。我的问题包括一个可以在 SO 上测试的 sn-p。

这是我在文本区域获得焦点时得到的结果:

当文本区域被聚焦时,这是我想要的:

这是我到目前为止的代码:

input:focus, textarea:focus {
    outline: none;
}

#textarea  {
  position:absolute;
  top:10px;
  left:10px;
  right:10px;
  width:calc(100% - 20px);
  height:160px;
  display:inline-block;
  margin-top:-0.2em;
}
<textarea id="textarea">yo</textarea>

我已经看过这个question
我也看过这个question

【问题讨论】:

标签: html css


【解决方案1】:

试试这个:

input:focus, textarea:focus {
   outline: none !important; }

【讨论】:

  • 这对我没有任何改变。
  • 我发现了问题。它在 Safari 中有效,但在 Firefox 中无效。将边框设置为 0 会在 Firefox 中完全删除边框。似乎与文本区域边框匹配,看起来焦点轮廓消失了,但实际上是将边框切换为相同的边框样式。看我的回答。
【解决方案2】:

此解决方案更改选定元素的焦点样式的定义边框值。我已经有效地使焦点边框与文本区域边框匹配:

input:focus, textarea:focus {
    outline:none;
    border:1px solid gray;
}

#textarea  {
  position:absolute;
  top:10px;
  left:10px;
  right:10px;
  width:calc(100% - 20px);
  height:160px;
  display:inline-block;
  margin-top:-0.2em;
}
<textarea id="textarea">yo</textarea>

【讨论】:

猜你喜欢
  • 2016-08-04
  • 1970-01-01
  • 2021-06-04
  • 1970-01-01
  • 1970-01-01
  • 2021-05-14
  • 1970-01-01
  • 1970-01-01
  • 2015-09-05
相关资源
最近更新 更多