带边框的功能区

时间:2014-11-05 10:01:19

标签: css html5

可以在里面创建带边框的功能区。我已经创建了这样的默认功能区:

Ribbon without borders

但我需要这样的丝带。我无法使用图片。

Ribbon with border

什么是最好的解决方案?

1 个答案:

答案 0 :(得分:1)

This是我能做的最好的事情。

h1 span:before, h1 span:after {
    content: "";
    height: 90%;
    margin-top: 2px;
    width: 70px;
    border: 3px solid black;
    position: absolute;
    top: 0;
}
h1 span:before {
    right: 100%;
    border-left: 0 none;
}
h1 span:after {
    left: 100%;
    border-right: 0 none;
}

h1:before, h1:after {
    content: "";
    height: 31px;
    width: 31px;
    margin-top: 8px;
    position: absolute;
    top: 0;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

h1:before {
    border-top: 3px solid black;
    border-right: 3px solid black;
    right: calc(100% + 70px - 16px);
}
h1:after {
    border-bottom: 3px solid black;
    border-left: 3px solid black;
    left: calc(100% + 70px - 16px);
}

备注

  • 无法使用不支持的旧浏览器:transformcalc:before:after
  • 这适用于标题的任意长度,但是如果您更改字体大小,则必须手动更改h1:before, h1:after的宽度和高度。