我正在尝试使用背景颜色创建一个围绕文本的h1样式。
h1.skew {
padding-left: 10px;
text-decoration: none;
color: white;
font-weight: bold;
display: inline-block;
border-right: 50px solid transparent;
border-top: 50px solid #4c4c4c;
height: 0;
line-height: 50px;
}
<h1 class="skew">HELLO WORLD</h1>
https://jsfiddle.net/zo32q98n/
此时文本显示在背景下方。如何让文字出现在棕色背景中?
答案 0 :(得分:4)
您可以使用change
作为背景,并设置pseudo-element
,使其显示在文字下方。
z-index: -1
h1.skew {
padding-left: 10px;
text-decoration: none;
color: white;
font-weight: bold;
display: inline-block;
position: relative;
height: 0;
line-height: 50px;
}
h1.skew:before {
content: '';
z-index: -1;
border-right: 50px solid transparent;
border-top: 50px solid #4c4c4c;
height: 100%;
position: absolute;
top: 0;
left: 0;
width: 100%;
}
答案 1 :(得分:3)
由于边框高度为50px,因此您可以在内部插入相同数量的负边距:
h1.skew::before {
content: '';
display: block;
margin-top: -50px;
}
body {
background: #ddd;
}
h1.skew {
padding-left: 10px;
text-decoration: none;
color: white;
font-weight: bold;
display: inline-block;
border-right: 50px solid transparent;
border-top: 50px solid #4c4c4c;
height: 0;
line-height: 50px;
}
h1.skew::before {
content: '';
display: block;
margin-top: -50px;
}
&#13;
<h1 class="skew">HELLO WORLD</h1>
&#13;
答案 2 :(得分:3)
您可以使用CSS3 linear-gradient()
。
h1.skew {
padding: 10px 80px 10px 10px;
display: inline-block;
color: white;
background: #4c4c4c; /* fallback */
background: linear-gradient(135deg, #4c4c4c 80%, transparent 80%);
}
<h1 class="skew">HELLO WORLD</h1>
答案 3 :(得分:1)
如果您使用border-top
代替body {
background: #ddd;
}
h1.skew {
padding-left: 10px;
text-decoration: none;
color: white;
font-weight: bold;
display: inline-block;
border-right: 50px solid transparent;
border-bottom: 50px solid #4c4c4c;
height: 0;
line-height: 50px;
}
,则没有问题。
<h1 class="skew">HELLO WORLD</h1>
allprojects {
if (plugins.hasPlugin('java')) {
dependencies {
testCompile 'junit:junit:4.12'
}
}
}
答案 4 :(得分:0)
您可以将文字换成span
...
<h1 class="skew"><span class="text">HELLO WORLD</span></h1>
然后将以下内容添加到样式表中......
span.text {
position: relative;
top: -50px;
}
这会将文本向上移动,使其显示在您已定义的边框上。