[英]Angled headings in CSS
Write this: 写这个:
h1{
font-size:24px;
display:inline-block;
position:relative;
margin:20px;
}
h1:after{
content:'';
position:absolute;
top:0;
bottom:0;
left:-10px;
right:-10px;
background:red;
z-index:-1;
-moz-transform: skew(-25deg);
-webkit-transform: skew(-25deg);
box-shadow:3px 3px 0 0 #000;
-moz-box-shadow:3px 3px 0 0 #000;
-webkit-box-shadow:3px 3px 0 0 #000;
}
Check this http://jsfiddle.net/RP356/ 检查这个http://jsfiddle.net/RP356/
You can achieve that with just transform:skew(): 只需转换即可实现:skew():
transform:skew(-30deg,0);
-ms-transform:skew(-30deg,0); /* IE 9 */
-moz-transform:skew(3-0deg,0); /* Firefox */
-webkit-transform:skew(-30deg,0); /* Safari and Chrome */
-o-transform:skew(-30deg,0); /* Opera */
As you can see here . 正如你在这里看到的那样。
PS However keep in mind the “Heading” text and the skewed part have to be separate elements to avoid affecting the text too. PS但是请记住“标题”文本和倾斜部分必须是单独的元素,以避免影响文本。
(In case the text is a child, you could set it straight using the opposite transformation: transform:skew(30deg,0)
.) (如果文本是孩子,你可以使用相反的变换直接设置:
transform:skew(30deg,0)
。)
Yes it is transform. 是的,它是变革。 Following css does it for -20 degrees.
以下css是-20度。 and a white shadow
和一个白色的影子
.box {
-moz-transform: scale() rotate(0deg) translate(0px, px) skew(-20deg, deg);
-webkit-transform: scale() rotate(0deg) translate(0px, px) skew(-20deg, deg);
-o-transform: scale() rotate(0deg) translate(0px, px) skew(-20deg, deg);
-ms-transform: scale() rotate(0deg) translate(0px, px) skew(-20deg, deg);
transform: scale() rotate(0deg) translate(0px, px) skew(-20deg, deg);
-webkit-box-shadow: 10px 10px 5px 5px #ffffff;
-moz-box-shadow: 10px 10px 5px 5px #ffffff;
box-shadow: 10px 10px 5px 5px #ffffff;
}
In order to @SvenBieder answer, it is better to use something like this: 为了@SvenBieder的回答,最好使用这样的东西:
body {
background: #ddd;
}
h1 {
position: relative;
font-family: sans-serif;
color: #fff;
width: 400px;
margin: 20px;
padding: 5px;
}
/* In CSS3 it is ::before, but IE doesn't support this */
h1:before {
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: -5px;
z-index: -1;
background: #555;
-webkit-transform: skew(-20deg);
-moz-transform: skew(-20deg);
-o-transform: skew(-20deg);
-ms-transform: skew(-20deg);
transform: skew(-20deg);
-webkit-box-shadow: 10px 10px 0px 3px #ffffff;
-moz-box-shadow: 10px 10px 0px 3px #ffffff;
box-shadow: 10px 10px 0px 3px #ffffff;
}
Live example: http://jsfiddle.net/fjPbr/1/ 实例: http : //jsfiddle.net/fjPbr/1/
It's better because it don't skew the content and it has less code. 它更好,因为它不会扭曲内容,而且代码更少。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.