2016-05-17 11 views
-1

Ich möchte eine gestapelte Bar mit inneren vertikalen Text. Ich habe es nicht in die richtige Position gebracht. Dies ist, wie ich will es: bars with angled textGestapelte Bar css

Dies ist mein Code und Ausgang:

.colWrapper{ 
 
    height:200px; 
 
    width:100px; 
 
    position:relative; 
 
    border:1px solid #ccc; 
 
} 
 
.barContainer{ 
 
    position:absolute; 
 
    bottom:0; 
 
    width:100%; 
 
} 
 
.bar{ 
 
    widith:100%; 
 
    padding:10px; 
 
    transform: rotate(90deg); 
 
    text-align:center; 
 
    margin:0 
 

 
}
<div class="colWrapper"> 
 
    <div class="barContainer"> 
 
     <div class="bar" style="background-color:#b4cde2;">Software</div> 
 
     <div style="clear:both;"></div> 
 
     
 
     <div class="bar" style="background-color:#7ca7cc;">Banking</div> 
 
     
 
    </div> 
 
</div>

Antwort

1

Sie müssen -90deg verwenden und auch, verwenden Sie die transform-origin:

.colWrapper { 
 
    height: 200px; 
 
    width: 100px; 
 
    position: relative; 
 
    border: 1px solid #ccc; 
 
} 
 
.barContainer { 
 
    bottom: 0; 
 
    width: 100%; 
 
} 
 
.bar { 
 
    padding: 10px; 
 
    transform: rotate(-90deg); 
 
    text-align: center; 
 
    margin: 0; 
 
    left: -25px; 
 
    transform-origin: right bottom; 
 
    position: absolute; 
 
    width: 100px; 
 
    bottom: 120px; 
 
} 
 
.bar:first-child { 
 
    left: -80px; 
 
}
<div class="colWrapper"> 
 
    <div class="barContainer"> 
 
    <div class="bar" style="background-color:#b4cde2;">Software</div> 
 
    <div class="bar" style="background-color:#7ca7cc;">Banking</div> 
 
    </div> 
 
</div>

Zweite Methode:

.colWrapper { 
 
    height: 200px; 
 
    width: 100px; 
 
    position: relative; 
 
    border: 1px solid #ccc; 
 
} 
 
.barContainer { 
 
    bottom: -5px; 
 
    width: 100%; 
 
    transform: rotate(-90deg); 
 
    position: absolute; 
 
    left: 5px; 
 
} 
 
.bar { 
 
    padding: 10px; 
 
    text-align: center; 
 
    margin: 0 0 15px; 
 
    sposition: absolute; 
 
} 
 
.bar:first-child { 
 
    left: -80px; 
 
}
<div class="colWrapper"> 
 
    <div class="barContainer"> 
 
    <div class="bar" style="background-color:#b4cde2;">Software</div> 
 
    <div class="bar" style="background-color:#7ca7cc;">Banking</div> 
 
    </div> 
 
</div>

+1

Vielen Dank für Ihre Antwort, erreichen wir fast, aber ich will es gestapelt Diagramm mögen, können Sie das Bild sehen Sie bitte i angebracht. –

1

Sie können auch einen Blick auf Schreibmodus und Flex-Box nehmen.

https://developer.mozilla.org/fr/docs/Web/CSS/writing-mode

div { 
 
    display: inline-flex; 
 
    flex-flow: column wrap; 
 
    height: 320px; 
 
    width: 270px; 
 
    vertical-align: middle; 
 
} 
 
span { 
 
    padding: 20px 5px; 
 
    background: #1E84C6; 
 
    -webkit-writing-mode: vertical-lr; 
 
    /* old Win safari */ 
 
    writing-mode: vertical-lr; 
 
    writing-mode: tb-lr; 
 
    text-align: right; 
 
    margin: 10px; 
 
    height: 100px; 
 
    width: 60px; 
 
    font-size: 30px; 
 
    line-height: 60px; 
 
} 
 
span:nth-child(3) { 
 
    height: 260px; 
 
} 
 
a { 
 
    display: inline-block; 
 
    text-decoration: none; 
 
    letter-spacing: 2px; 
 
    text-transform: uppercase; 
 
    font-family: helvetica; 
 
    color: white; 
 
} 
 
div + div a { 
 
    transform: scale(-1, -1); 
 
    /* reverse writing direction optionnal*/ 
 
    btext-align: left; 
 
    transform-origin: 1em 1.25em; 
 
} 
 
span:nth-child(2) { 
 
    background: #283F4F; 
 
} 
 
span:nth-child(4) { 
 
    background: #1DC685; 
 
} 
 
​-
<div> 
 
    <span> <a href>one</a></span> 
 
    <span> <a href>two</a></span> 
 
    <span> <a href>three</a></span> 
 
    <span> <a href>four</a></span> 
 
    <span> <a href>five</a></span> 
 
</div> 
 
or 
 
<div> 
 
    <span> <a href>one</a></span> 
 
    <span> <a href>two</a></span> 
 
    <span> <a href>three</a></span> 
 
    <span> <a href>four</a></span> 
 
    <span> <a href>five</a></span> 
 
</div> 
 
and so on ...

+0

Danke für die Antwort ist es wirklich WOW .. Aber ich will es interaktiver, ich will es nicht mit festen Werten, denn später möchte ich es mit dynamischen Werten konvertieren. Vielen Dank. –

+0

@KiranJuvvalapalli Ich denke, Sie müssen nur Werte aktualisieren, px bis% oder verwenden Sie min-width/min-Höhe. Code gehört dir jetzt;) Spiel damit. Hier ist ein Stift, um mit Live-und Gabel http://codepen.io/gc-nomade/pen/jqozRB zu spielen, können Sie einen Reißverschluss davon von der Export-Taste unten rechts herunterladen –

Verwandte Themen