我想设计我的标题如上图所示.这里的问题是关于带两种不同颜色的边框.这是我到目前为止所尝试的代码.提前致谢.
header {
text-align: center;
background-color: #7f7f7f;
}
h1 {
color: #00a2e8;
font-size: 40px;
padding: 5px 0;
display: inline-block;
border-top: 3px solid #880015;
border-bottom: 3px solid #880015;
}
Run Code Online (Sandbox Code Playgroud)
<header>
<h1>HEADER</h1>
</header>
Run Code Online (Sandbox Code Playgroud)
Dan*_*eld 25
这是不使用伪元素的一种方法:
h1 {
display: inline-block;
color: #00a2e8;
font-size: 40px;
padding: 5px 0;
background:linear-gradient(to right, #ccc 50%, maroon 50%) bottom,
linear-gradient(to right, maroon 50%, #ccc 50%) top;
background-repeat: no-repeat;
background-size:100% 2px;
}
Run Code Online (Sandbox Code Playgroud)
header {
text-align: center;
background-color: #7f7f7f;
}
h1 {
display: inline-block;
color: #00a2e8;
font-size: 40px;
padding: 5px 0;
background:linear-gradient(to right, #ccc 50%, maroon 50%) bottom,
linear-gradient(to right, maroon 50%, #ccc 50%) top;
background-repeat: no-repeat;
background-size:100% 3px;
}
Run Code Online (Sandbox Code Playgroud)
<header>
<h1>HEADER</h1>
</header>
Run Code Online (Sandbox Code Playgroud)
只是为了好玩,您可以在文本颜色上产生分色效果 - 使用一个额外的伪元素 - 如下所示:
header {
text-align: center;
background-color: #7f7f7f;
--color1: maroon;
--color2: #ccc;
}
h1 {
position: relative;
display: inline-block;
font-size: 30px;
color: var(--color1);
background: linear-gradient(to right, var(--color1) 50%, var(--color2) 50%) bottom, linear-gradient(to right, var(--color2) 50%, var(--color1) 50%) top;
background-repeat: no-repeat;
background-size: 100% 2px;
padding: 5px 0;
white-space: nowrap;
}
h1:before {
content: attr(data-text);
overflow: hidden;
position: absolute;
left: 0;
top: 5px;
width: 50%;
color: var(--color2);
}
Run Code Online (Sandbox Code Playgroud)
<header>
<h1 data-text="HEADER">HEADER</h1>
</header>
<hr>
<header>
<h1 data-text="Some text here">Some text here</h1>
</header>
Run Code Online (Sandbox Code Playgroud)
frn*_*rnt 17
使用伪::before
和::after
on h1
标签linear-gradient
作为background
使用高度而不是边框来获得该样式,
header {
text-align: center;
background-color: #7f7f7f;
}
h1{
color: #00a2e8;
font-size: 40px;
padding: 5px 0;
display: inline-block;
position:relative;
}
h1:before{
content:"";
width:100%;
height:3px;
left:0;
top:0;
position:absolute;
z-index:9;
background:linear-gradient(to right, white 50%, brown 50%);
}
h1:after{
content:"";
width:100%;
height:3px;
left:0;
bottom:0;
position:absolute;
z-index:9;
background:linear-gradient(to right, brown 50%, white 50%);
}
Run Code Online (Sandbox Code Playgroud)
<header>
<h1>HEADER</h1>
</header>
Run Code Online (Sandbox Code Playgroud)
与许多其他答案不同,不,您不需要使用伪元素.使用多个渐变可以正常工作:
#880015
50%和#fff
50%background-size: 100% 3px
Voila-见下面的概念验证:
header {
text-align: center;
background-color: #7f7f7f;
}
h1 {
color: #00a2e8;
font-size: 40px;
padding: 5px 0;
display: inline-block;
background-image:
linear-gradient(90deg, #880015 50%, #fff 50%),
linear-gradient(-90deg, #880015 50%, #fff 50%);
background-size: 100% 3px;
background-position:
top left,
bottom left;
background-repeat: no-repeat;
}
Run Code Online (Sandbox Code Playgroud)
<header>
<h1>HEADER</h1>
</header>
Run Code Online (Sandbox Code Playgroud)