css - 如何制作三 Angular 形焦点?

标签 css css-shapes

我需要在按钮上做一个三 Angular 形聚焦,就像这张图片一样

 triangular onfocus button

我查看了不同的示例,例如 this , 但焦点区域是矩形的。

是否可以制作三 Angular 形焦点?

最佳答案

您可以使用 clip-pathbutton 赋予三 Angular 形形状,并将相同的形状应用于 button::before 伪元素放大以模仿轮廓,例如

Codepen Demo

注意:仅适用于支持 clip-path

的浏览器

标记

<button><span>button</span></button>

CSS

button {
  position: relative;
  border: 0;
  padding: 0;
  cursor: pointer;
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 50% 100% 0);
  clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 50% 100% 0);
}

button span {  
  position: relative; 
  z-index: 1; 
  display: block;
  background: linear-gradient(#f4f4f4, #d4d4d4);
  padding: 10px 20px;
}

button:focus {
  outline: none;
  -webkit-clip-path: polygon(0 0, 0 100%, 90% 100%, 100% 50%, 90% 0);  
  clip-path: polygon(0 0, 0 100%, 90% 100%, 100% 50%, 90% 0);  
}

button::before,
button span {
   -webkit-clip-path: inherit;
   clip-path: inherit; 
} 

button:focus::before {
   content: "";
   position: absolute;
   height: calc(100% + 4px);
   width: calc(100% + 4px);
   left: -2px;
   top: -2px;
   background: rgba(81,153,219, .7);
}

关于css - 如何制作三 Angular 形焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36643051/

相关文章:

PHP - Ajax 获取数据而不刷新

html - Div 没有排队

css - CSS 中的美女图标形状

html - 45 度 Angular + 方框阴影 - 仅使用 CSS

javascript - 自定义material-ui弹出窗口

javascript - 带有 Flask 服务器的 d3 饼图

javascript - 单击按钮后如何停止keydown功能

html - 如何使用 CSS 创建嵌套菱形?

CSS:在我的下拉菜单顶部放置一个带边框的箭头/三 Angular 形

javascript - js canvas - 使用特定文本权重计算文本宽度