2

次の 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>

以下を取得するためのスタイルをどのように記述すればよいですか? ここに画像の説明を入力

4

4 に答える 4

4

CSS4border-corner-shapeプロパティが危うくなるまで!実装されていません。これは、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デモです。

注:div上記の例には別のclass属性がありbox2、CSS3 宣言を使用せずに実装されているため、使用を検討してください ;)

于 2013-05-25T11:11:47.593 に答える
0

ほとんどの場合、目に見えないボーダー トリックを使用して実行できます。ウェブ上にはいくつかの「三角形ジェネレーター」があります。たとえば、これ

于 2013-05-25T10:01:46.830 に答える