如何在包含图像的div中创建一个交叉(x)? 交叉还必须重叠在图像上,是否可以纯粹使用CSS来实现,还是我必须创建一个带有交叉的新图像?
CSS-
#cross {
width: 100px;
height: 100px;
position: relative;
transform:rotate(45deg);
-ms-transform:rotate(45deg); /* IE 9 */
-webkit-transform:rotate(45deg); /* Safari and Chrome */
}
#cross:before, #cross:after {
content: "";
position: absolute;
z-index: -1;
background: #d00;
}
#cross:before {
left: 50%;
width: 30%;
margin-left: -15%;
height: 100%;
}
#cross:after {
top: 50%;
height: 30%;
margin-top: -15%;
width: 100%;
}
实现方法:
步骤:
创建一个简单的正方形,不添加任何背景颜色。
#cross {
width: 100px;
height: 100px;
position: relative;
}
第二步 -
`CSS gives you compatibility to play with sudo-elements`.
CSS中每个元素都有内容空间。
第三步 -
通过将这些before和after元素position:absolute
与相对父元素对齐,您可以获得所需的形状。
最后一步 - 按您想要的方式进行旋转变换。 例如-
顺便说一下@Adam的做法很聪明,曾经是我首选的方法。
你们过于复杂化答案了。使用一个简单的×
符号 - 100%跨浏览器,不需要转换/伪元素。
编辑
我意识到你可能也不理解相对/绝对定位的概念。
您的容器需要相对定位,您的“X”需要绝对定位。像下面的小提琴一样:
.image {
background-image: url('http://www.hdwallpapers.in/walls/windows_xp_bliss-wide.jpg');
background-size: cover;
text-align: center;
font-family: sans-serif;
}