我有以下HTML文档:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Тег DIV</title>
<style type="text/css">
.block1 {
width: 200px;
background: #ccc;
padding: 5px;
padding-right: 20px;
border: solid 1px black;
float: left;
}
</style>
</head>
<body>
<div class="block1">Text Content</div>
</body>
</html>
如何描述获得以下内容的样式?
答案 0 :(得分:3)
直到CSS4 border-corner-shape
属性is in danger!和it's not implemented,这可以通过使用CSS3转换(以保持border
属性免费进一步使用)来完成:
<强> HTML:强>
<div class="box">
Text Content
</div>
<强> CSS:强>
.box {
width: 200px;
height: 35px;
line-height: 35px;
padding: 0 5px;
background-color: #ccc;
padding-right: 20px;
border: solid 1px black;
border-right: 0;
position: relative;
}
.box:after {
content: "";
display: block;
background-color: #ccc;
border: solid 1px black;
border-left: 0;
width: 35px;
height: 35px;
position: absolute;
z-index: -1;
top: -1px; /* pull it up because of 1px border */
right: -17.5px; /* 35px / 2 */
transform: skew(-45deg);
-o-transform: skew(-45deg);
-moz-transform: skew(-45deg);
-webkit-transform: skew(-45deg);
}
这是 JSBin Demo 。
注意:上面示例中的另一个div
具有class
的{{1}}属性,它在不使用您可能考虑使用的CSS3声明的情况下实现;)
答案 1 :(得分:0)
最有可能的是,它可以使用隐形边框技巧完成。网上有一些“三角形生成器”,例如this一个
答案 2 :(得分:0)
这是Solution。
CSS和HTML:
ul {
position: relative;
overflow: hidden;
font: 14px Arial;
margin: 0;
padding: 0;
list-style: none;
text-align: center;
}
ul:before {
content: "";
position: absolute;
z-index: -1;
left: 124px;
margin-left: -120px;
width: 0;
border-left: 0 solid transparent;
border-right: 230px solid transparent;
border-top: 179px solid #CCCCCC;
}
li {
height: 3.8em;
line-height: 3em;
position: relative;
margin-left: -562px;
}
li:after,
li:before {
content: "";
display: block;
height: 0.4em;
background: #fff;
width: 100%;
}
&#13;
<ul>
<li>Text Content</li>
</ul>
&#13;
您必须使用border-width
属性来获取所需的输出。
希望这有帮助。
答案 3 :(得分:0)
如果我描述这样的文件:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Тег DIV</title>
<style type="text/css">
.block1 {
width: 300px;
height: 0px;
border-style: solid;
border-width: 200px 200px 0 0;
border-color: #f200ff transparent transparent transparent;
}
</style>
</head>
<body>
<div class="block1">Text Content</div>
</body>
</html>
我几乎得到你所需要的,但我不明白为什么文字不在图中?