- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
需要将菜单栏的棱 Angular 绘制为
内部内容可能是一些标签或链接。
最佳答案
如何使用 CSS3 transform skew
?
.shape {
width: 200px;
height: 50px;
-webkit-transform: skew(30deg);
-moz-transform: skew(30deg);
transform: skew(30deg);
background: #000;
margin: 20px;
}
这里没什么好解释的,它是一个简单的 div
元素,我将其倾斜了 30deg
,这将导致您期望的形状。
注意:这是一个 CSS3 属性,所以旧的浏览器和 IE 会破坏你的东西,确保你使用 CSS3 Pie .
实现此目的的其他方法是使用 :after
和 :before
伪和 CSS 三 Angular 形以及 content
属性。
Demo 2 (保留红色三 Angular 形用于演示目的)
Demo 3 (颜色改变)
Demo 4 (正如您所评论的,您还需要使用 top: 0;
为 :before
和 :after
伪,因为当您添加文本时,它会从顶部移动两个三 Angular 形。所以为了防止这种情况,请使用 top: 0;
)
在这里,我使用了一个简单的 div
元素,并将 2 个 positioned absolute
的 CSS 三 Angular 形放置到容器中。这比上面更兼容,如果你想要一个非 CSS3 解决方案,你可以选择它。确保为 :before
和 :after
使用 display:block;
。当然,您可以合并常用样式,但我将两者分开,以便您可以轻松地分别自定义它们。
.shape {
width: 200px;
height: 50px;
background: #000;
margin: 50px;
position: relative;
}
.shape:before {
display: block;
content: "";
height: 0;
width: 0;
border: 25px solid #f00;
border-bottom: 25px solid transparent;
border-left: 25px solid transparent;
position: absolute;
left: -50px;
}
.shape:after {
display: block;
content: "";
height: 0;
width: 0;
border: 25px solid #f00;
border-top: 25px solid transparent;
border-right: 25px solid transparent;
position: absolute;
right: -50px;
}
关于css - 使用 CSS 绘制斜边/平行四边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18798793/
我有点困惑:我想创建一些平行四边形并将文本放入其中。但是当我将文本放入其中时,文本与平行四边形的形状对齐。这是我试过的 .parallelogram { width: 130px; heigh
我使用 CSS3 的 skew 变换制作了一个平行四边形,并将文本放置在另一个具有相反 skew 值的 div 中,以便文本保持未变换: JSFiddle example . 有没有办法让文本像这样对
这个问题在这里已经有了答案: Shape with a slanted side (responsive) (3 个答案) 关闭 7 年前。 我正在尝试仅使用 CSS(白色表单)制作此表单: 但是我
需要将菜单栏的棱 Angular 绘制为 内部内容可能是一些标签或链接。 最佳答案 如何使用 CSS3 transform skew ? Demo .shape { width: 200px;
我是一名优秀的程序员,十分优秀!