2015-06-26 4 views
3

Как я могу сделать Склон, как это будет CSS3? FIDDLEКак я могу сделать наклон

HTML

<div class="slope"> 
    Hello 
</div> 

CSS

.slope{ 
    width:500px; 
    height:100px; 
    background:#0093f7; 
    text-align:center; 
    font-size:26px; 
    color:#fff; 
    vertical-align:middle; 
} 

enter image description here

+5

Оклейка ваш вопрос в Google дает http://tympanus.net/codrops/2011/12/21/slopy-elements- с-css3/в качестве первого результата. –

ответ

2

Это устраняет необходимость знать ширину основного DIV. Зная высоту еще нужно хотя ...

.slope{ 
    width:500px; 
    height:100px; 
    background:#0093f7; 
    text-align:center; 
    font-size:26px; 
    color:#fff; 
    vertical-align:middle; 
    overflow: visible; 
    position: relative;  <--- this is important 
} 

.slope:after { 
    content: ""; 
    position: absolute;  <--- works with the above, such that positioning is relative to the main DIV 
    display: block; 
    right: -100px; 
    top: 0px; 
    width: 0px; 
    height: 0px; 
    border-top: solid 100px #0093f7; 
    border-right: solid 100px transparent; 
} 

Fiddle: https://jsfiddle.net/vh1mk5yx/5/

+0

Спасибо, я предпочитаю этот метод – Raihan

1
.slope{ 
    width:500px; 
    height:100px; 
    background:#0093f7; 
    text-align:center; 
    font-size:26px; 
    color:#fff; 
    vertical-align:middle; 
    float: left; 
    line-height: 100px; 
} 

.triangle { 
    float: left; 
    border-style: solid; 
    border-width: 100px 100px 0 0; 
    border-color: #0093f7 transparent transparent transparent; 
} 


<div class="slope"> 
    Hello 
</div> 
<div class="triangle"></div> 

Можете ли вы объединить два divs следующим образом?

https://jsfiddle.net/vh1mk5yx/3/

2

Это работает только на основе того, что вы знаете, ширину и высоту .slope. Тем не менее, вот мое решение:

body{margin:0;} 
 
.slope{ 
 
    width:500px; 
 
    height:100px; 
 
    background:#0093f7; 
 
    text-align:center; 
 
    font-size:26px; 
 
    color:#fff; 
 
    vertical-align:middle; 
 
} 
 
.slope::after{ 
 
    content: " "; 
 
    display: block; 
 
    border-right: 50px solid transparent; 
 
    border-bottom: 50px solid transparent; \t 
 
    border-left: 50px solid #0093f7; 
 
    border-top: 50px solid #0093f7; 
 
    position:absolute; 
 
    left:500px; 
 
    top:0; 
 
}
<div class="slope"> 
 
    Hello 
 
</div>

Смежные вопросы