button{transition:box-shadow180msease-in;}button:hover{box-shadow:0003pxtomato;}确保可见焦点对于可访问性 。您可能不知道的一种情况是Windows高对比度模式(WHCM)的用户 。
在这种模式下 。你提供的颜色会被剥离成一个缩小的高对比度调色板 。并非所有CSS属性都是允许的 。包括 box-shadow 。
一个实际的影响是 。如果你在 :focus 时去掉了 outline 。而用 box-shadow 代替 。WHCM的用户将不再获得可见的焦点 。
要消除这种负面影响 。您可以在 :focus 上应用透明的 outline:
button:focus{outline:2pxsolidtransparent;}outline和box-shadow的陷阱因为outline和box-shadow位于盒模型的边框之外 。你可能会遇到的一个后果是让它们在视口的边缘下消失 。所以 。如果你想让元素保持可见 。你可能需要给元素添加 margin 或者给正文添加 padding 作为对策 。
它们的位置也意味着它们可以被 overflow: hidden 或使用 clip-path 等属性剪掉 。
额外提示:渐变边框正如承诺的那样 。这里有一个额外的提示——在我们已经讨论过的方法中——只有 border 可以做到 。
一个经常被遗忘的 border 相关属性是 border-image 。当试图将它用于实际的图像时 。其语法可能有点奇怪 。
【css加边框代码 教你怎么设置div边框样式】但是它具有隐藏的功能——由于CSS渐变在技术上是图像 。因此它还可以创建渐变边框:

文章插图
文章插图
这需要定义一个规则的边框宽度和样式(尽管它只显示为实体 。而不考虑样式值) 。然后是 border-image 属性 。它可以使用一个添加的渐变语法 。在渐变之后的数字是 slice 值 。对于我们的渐变 。我们可以简单地使用 1 来基本不改变渐变的大小/失真 。
div{border:10pxsolid;/*simplifiedfrompreviewimage*/border-image:linear-gradient(toright,purple,pink)1;}如果只把边框放在一边 。一定要先把其他边框设置为零 。否则有些浏览器还是会把边框加到所有边框上 。
div{border-style:solid;border-width:0;border-left-width:3px;/*border-image*/}不利之处在于这些边界不遵守 border-radius 。
- 王者荣耀:周年庆加大奖励,体验皮肤首次免费赠送,或许会人手一个,你满意吗?
- 王者荣耀周年庆八大活动曝光,武则天加传说皮肤全部限免,多个皮肤免费获得,你期待吗?
- 醋加温水洗头有什么好处
- 战士爆破职业BD玩法图文教程 恐怖黎明爆破者技能加点
- 隔夜寿司如何加热
- 寿司放冷藏第二天需要加热吗
- 用电热毯需要用加湿器吗
- 山楂枸杞茶能放冰糖吗
- 经常加班的OL如何保养自己?
- 喝酒吃海带有什么危害
