You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何移除元素获得焦点时的蓝色矩形框?

嘿,我看你已经尝试用outline: none;来移除聚焦时的蓝色框了,不过可能是选择器优先级不够,或者有些浏览器还有额外的默认样式在捣乱。试试下面的代码,应该能完全达到你想要的效果:

/* 用ID选择器确保样式优先级足够,覆盖浏览器默认 */
#textarea:focus {
  outline: none;
  /* 可选:如果担心无障碍体验,换成自定义聚焦样式,比如:
  border-color: #999;
  */
}

#textarea {
  position:absolute;
  top:10px;
  left:10px;
  right:10px;
  width:calc(100% - 20px);
  height:160px;
  display:inline-block;
  margin-top:-0.2em;
  /* 可以给文本域加个默认边框,避免移除outline后边框消失 */
  border: 1px solid #ccc;
}

对应的HTML保持不变:

<textarea id="textarea">yo</textarea>

这里特意用了#textarea:focus这个更具体的选择器,比你之前写的通用textarea:focus优先级更高,能确保覆盖浏览器自带的聚焦样式。另外提醒一句:完全移除聚焦提示可能会影响视力障碍用户的页面导航体验,所以如果不是必须完全隐藏,建议换成自定义的聚焦样式(比如注释里的浅灰色边框),这样既满足视觉需求,又不牺牲无障碍性~

内容的提问来源于stack exchange,提问作者1.21 gigawatts

火山引擎 最新活动