如何让CSS三角形显示在一行而不是垂直

时间:2012-09-30 17:02:17

标签: html css

基本上,我想在页面顶部有一排三角形。他们应该面朝下。我已经在CSS中创建了三角形,但出于某种原因,他们想要在彼此之上上下,而不是像我一样需要它们。

有没有CSS经验的人可以看看吗?感谢。

HTML:

<div class="triangle-container">

    <div class="arrow-down">
    </div>

    <div class="arrow-down">
    </div>

</div>

CSS:

/* BODY */

body
{
    background-color: #eee;
    height: 100%;
    width: 100%;
    z-index: 1;
    padding: none;
    border: none;
    margin: none;
}

/* Triangles! */

.triangle-container
{
    display: inline;
    height: auto;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
}

.arrow-down
{
    margin-left:auto;
    margin-right:auto;
    width:0;
    height:0;
    border-left:50px solid transparent;
    border-right:50px solid transparent;
    border-top:50px solid #FF6A00;
}

jsFiddle demo

2 个答案:

答案 0 :(得分:5)

您必须将display:inline应用于您希望以内联方式显示的元素,而不是其容器。

在您的情况下,它应该是inline-block,因为它应该是inline元素,其行为为block元素。阅读更多 here


display:inline-block添加.arrow-down并将其从.triangle-container中删除:

.triangle-container
{
    display: inline; /* Remove this line */
    height: auto;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
}

.arrow-down
{
    display: inline-block; /* Add this line */
    margin-left:auto;
    margin-right:auto;
    width:0;
    height:0;
    border-left:50px solid transparent;
    border-right:50px solid transparent;
    border-top:50px solid #FF6A00;
}

现场演示:jsFiddle

答案 1 :(得分:2)

我在float:left课程中添加了.arrow-down。 (并更新了几个课程)

在这里小提琴:http://jsfiddle.net/KwKe8/