Lea*_*yes 490
现在老问题,但这可能与有类似问题的人有关.我有一个圆形的输入字段,border
想要改变焦点轮廓的颜色.我无法将可怕的方块驯服outline
到输入控件上.
所以相反,我使用了box-shadow.我实际上更喜欢阴影的光滑外观,但阴影可以硬化以模拟圆形轮廓:
/* Smooth outline with box-shadow: */
.text1:focus {
box-shadow: 0 0 3pt 2pt red;
}
/* Hard "outline" with box-shadow: */
.text2:focus {
box-shadow: 0 0 0 2pt red;
}
Run Code Online (Sandbox Code Playgroud)
mon*_*nym 77
我通常使用:after伪元素完成此操作:http: //jsfiddle.net/6QUhf/
当然这取决于用法,这种方法允许控制单个边框,而不是使用硬阴影方法.
你也可以设置-1px偏移并再次使用背景线性渐变(无边框)来获得不同的效果.
body {
margin: 20px;
}
a {
background: #999;
padding: 10px 20px;
border-radius: 5px;
text-decoration: none;
color: #fff;
position: relative;
border: 2px solid #000;
}
a:after {
content: '';
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
border-radius: 5px;
border: 2px solid #ccc;
}
Run Code Online (Sandbox Code Playgroud)
Her*_*key 31
与上面的Lea Hayes类似,但这是我如何做到的:
div {
background: #999;
height: 100px;
width: 200px;
border: #999 solid 1px;
border-radius: 10px;
margin: 15px;
box-shadow: 0px 0px 0px 1px #fff inset;
}
Run Code Online (Sandbox Code Playgroud)
不需要嵌套DIV或jQuery,为简洁起见,我遗漏了一些CSS的-moz和-webkit变体.你可以在http://jsfiddle.net/Zq8XU/看到结果
Mat*_*all 17
我想你正在寻找这样的东西.
div {
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
border: 1px solid black;
background-color: #CCC;
height: 100px;
width: 160px;
}
Run Code Online (Sandbox Code Playgroud)
只有Firefox才能-moz-outline-radius
正常使用,但这不适用于IE/Chrome/Safari/Opera /等.因此,看起来最接近浏览器兼容的方式*在边框周围获得一条曲线就是使用包装器div:
div.inner {
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
border: 1px solid black;
background-color: #CCC;
height: 100px;
width: 160px;
}
div.outer {
display: inline-block;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
border: 1px solid red;
}
Run Code Online (Sandbox Code Playgroud)
<div class="outer">
<div class="inner"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
*除了使用图像
Sta*_*ser 15
我想在Bootstrap导航栏中为下拉菜单提供一些很好的焦点可访问性,并对此非常满意:
a.dropdown-toggle:focus {
display: inline-block;
box-shadow: 0 0 0 2px #88b8ff;
border-radius: 2px;
}
Run Code Online (Sandbox Code Playgroud)
据我所知,Outline radius
只有 Firefox 和 Firefox for android 支持。
(2021 年 7 月)
小智 8
我刚刚找到了一个很好的解决方案,在查看到目前为止的所有回复后,我还没有看到它发布.所以,这就是我做的:
我为类创建了一个CSS规则,并为该规则使用了伪类:focus.我设置outline: none
为摆脱Chrome默认使用的默认浅蓝色非边界半径"轮廓".然后,在那个:focus
轮廓不再存在的伪类中,我添加了我的半径和边框属性.通向以下内容
outline: none;
border-radius: 5px;
border: 2px solid maroon;
Run Code Online (Sandbox Code Playgroud)
有一个带有边框半径的栗色轮廓,当用户选中该元素时,该轮廓现在会出现.
从 2021 年 4 月起,您将能够为 Firefox 使用简单的 CSS:
.actual {
outline: solid red;
border-radius: 10px;
}
.expected {
border: solid red;
border-radius: 10px;
}
Run Code Online (Sandbox Code Playgroud)
In Firefox 88+,
<span class="actual">this outline</span>
should look like
<span class="expected">this border</span>
Run Code Online (Sandbox Code Playgroud)
使用outline-style: auto
将告诉«用户代理渲染自定义轮廓样式»:参见 [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/outline-style(.
当您使用outline-style: auto
. 很难正确地设计它。
.actual {
outline: auto red;
border-radius: 10px;
}
.expected {
border: solid red;
border-radius: 10px;
}
Run Code Online (Sandbox Code Playgroud)
In WebKit browsers (Chrome, Edge),
<span class="actual">this outline</span>
should look close to
<span class="expected">this border</span>
Run Code Online (Sandbox Code Playgroud)
从 Firefox 88(将于2021 年 4 月 20 日发布)开始,轮廓将遵循边界半径的形状。
电流-moz-outline-radius
将变得多余并将被移除。
请参阅MDN 的条目-moz-outline-radius
:
从 Firefox 88 开始,标准的轮廓属性将遵循边界半径的形状,使 -moz-outline-radius 属性变得多余。因此,此属性将被删除。
.outline {
outline: 2px solid red;
}
.border {
border: 2px solid red;
}
.outline-10 {
border-radius: 10px;
}
.border-2 {
border-radius: 2px;
}
.outline-2 {
border-radius: 2px;
}
.border-10 {
border-radius: 10px;
}
.outline-50 {
border-radius: 50%;
}
.border-50 {
border-radius: 50%;
}
.circle {
display: inline-block;
width:50px;
height: 50px;
}
Run Code Online (Sandbox Code Playgroud)
<strong>Test this in chrome 94.0+</strong>
<br/><br/>
border-radius: 2px
<span class="outline outline-2">outline</span>
<span class="border border-2">border</span>
<br/><br/>
border-radius: 10px
<span class="outline outline-10">outline</span>
<span class="border border-10">border</span>
<br/><br/>
border-radius: 50%
<span class="outline outline-50">outline</span>
<span class="border border-50">border</span>
<span class="outline circle outline-50">outline</span>
<span class="border circle border-50">border</span>
Run Code Online (Sandbox Code Playgroud)
我知道他的意思......
如果你想要一个浮雕外观,你可以做类似以下的事情:
他正在寻找一种在其他浏览器中使用这种方法的方法..没有我找到的解决方法,但其他人有什么东西吗?
编辑:你可以做到这一点的唯一方法是使用box-shadow,但如果你已经在该元素上有一个盒子阴影,那么这将无法工作.