如何制作三角形div?

时间:2016-03-14 10:50:32

标签: html css

我想把div变成三角形。我用吹奏的图像描述了我的问题。

我的代码是:

<div class="rest_pack">
                        <img width="100%" src="<?= Yii::$app->request->baseUrl . '/files/upload/3.png' ?>">
                        <div class="row side_info">
                            <div class="top">
                                ساندویچ مخصوص
                            </div>
                            <div class="bottom">
                                5,500 
                                تومان
                            </div>
                        </div>
                    </div>

的CSS:

.rest_pack .side_info{
    position: absolute;
    width: 100%;
    background-color: #FFF;
    top: 100px;
    opacity: 0.8;

}
.rest_pack .side_info .top{
    text-align: center;
    font-weight: bold;
    font-size: 17px;
    color: #3131AA;
    padding-top:5px;
}
.rest_pack .side_info .bottom{
    text-align: center;
    font-weight: bold;
    font-size: 16px;
    color: #F63440;
    padding-top:5px;
}

结果是: enter image description here

但是我想要这样的东西。 我想制作红色DIV。

enter image description here

3 个答案:

答案 0 :(得分:2)

来自CSS Tricks https://css-tricks.com/snippets/css/css-triangle/

<div class="arrow-up"></div>
<div class="arrow-down"></div>
<div class="arrow-left"></div>
<div class="arrow-right"></div>

CSS来到这里:

.arrow-up {
width: 0; 
height: 0; 
border-left: 5px solid transparent;
border-right: 5px solid transparent;

border-bottom: 5px solid black;
}

.arrow-down {
width: 0; 
height: 0; 
border-left: 20px solid transparent;
border-right: 20px solid transparent;

border-top: 20px solid #f00;
}

.arrow-right {
width: 0; 
height: 0; 
border-top: 60px solid transparent;
border-bottom: 60px solid transparent;

border-left: 60px solid green;
}

.arrow-left {
width: 0; 
height: 0; 
border-top: 10px solid transparent;
border-bottom: 10px solid transparent; 

border-right:10px solid blue; 
}

只需更改值即可获得您想要的三角形

答案 1 :(得分:1)

您可以使用:after选择器和border-leftborder-bottom来根据需要调整三角形。

像这样:

&#13;
&#13;
.title{
  position: absolute;
  padding:25px;
  bottom:0;
  right:0;
  z-index:1;
}
div {
  position: relative;
  width: 500px;
  height: 300px;
  background-image: url("http://i.stack.imgur.com/ys1Jo.png");
}
div:after {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  bottom: 0;
  border-left: 500px solid transparent;
  border-bottom: 130px solid rgb(0, 114, 255);
  -moz-transform: scale(0.999);
  -webkit-backface-visibility: hidden;
}
&#13;
<div class="test">
    <span class="title">Enter Text Here</span>
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

请尝试以下代码

HTML

<div class="main">
  <a rel="nofollow" href="http://i.stack.imgur.com/ys1Jo.png"><img alt="enter image description here" src="http://i.stack.imgur.com/ys1Jo.png">   </a>
</div>

CSS

.main {  border: 1px solid red; border-radius: 5px 0 5px 5px; }