ArcGIS API for JavaScript 4.x 边框蓝色如何解决?

不点击地图,不聚焦到地图上时,地图外边框正常。
无聚焦不蓝色.png


一旦点击或聚焦到地图上。地图外边框变为蓝色。怎么办?
聚焦边框蓝色.png
已邀请:

许丹石

赞同来自: st2 foryond

通过监控点击时页面的Element发生的变化。发现地图canvas下面多了一个::after
canvas下出现一个after.png

 
 :after 是CSS伪元素。于是,在main.css中搜索::after得到。1170行含有这样一个伪元素。截图为:
after伪元素.png

原始CSS代码为:
.esri-view .esri-view-surface--inset-outline:focus::after {
content:"";
box-sizing:border-box;
position:absolute;
z-index:999;
top:0;
left:0;
height:100%;
width:100%;
outline:auto 2px Highlight;
outline:auto 5px -webkit-focus-ring-color;
outline-offset:-3px;
pointer-events:none;
overflow:hidden
}

 
于是,在页面增加<style></style>标签添加css样式,覆盖
.esri-view .esri-view-surface--inset-outline:focus::after {}
里面的outline即可。例如我设置outline:none; 则问题解决。
插入的style为:
    <style>
html,
body,
#viewDiv {
height: 100%;
margin: 0;
padding: 0;
outline: none;
}
.esri-view .esri-view-surface--inset-outline:focus::after {
content: "";
box-sizing: border-box;
position: absolute;
z-index: 999;
top: 0;
left: 0;
height: 100%;
width: 100%;
outline: none;
outline-offset: -3px;
pointer-events: none;
overflow: hidden;
}
</style>

foryond

赞同来自: 许丹石

非常感谢楼上!问题已解决!不过不用全部重写,只重写outline属性就可以实现了~
<style>
.esri-view .esri-view-surface--inset-outline:focus::after{
outline:none;
}
</style>

要回复问题请先登录注册