2015-07-09 27 views
5

Sto cercando di ottenere due div per adattarsi alla larghezza della pagina ma dividere a metà con una linea diagonale.due div divisi con linea diagonale - CSS

example of what i want it to look like

Come posso raggiungere questo obiettivo con due div attraverso i CSS? è per un cursore e deve contenuti aggiunti a ciascuna parte una volta terminato

+0

Cosa hai provato finora? –

+0

Dovresti dare un'occhiata a [questa risposta] (http://stackoverflow.com/questions/30441122/shape-with-a-slanted-side-responsive/30441123#30441123). Usando una combinazione degli esempi dove c'è un'inclinazione sul lato sinistro e sul lato destro, puoi ottenere ciò che ti serve. Si prega di provare e aggiornare la domanda se si rimane bloccati mentre si fa. – Harry

+0

https://jsfiddle.net/z5fogus5/ Ho solo bisogno della divisione al centro per essere diagonale – 5kud

risposta

11

Può essere qualcosa di simile

Esempio 1

div { 
 
    min-height: 100px; 
 
    background: #D25A1E; 
 
    position: relative; 
 
    width: calc(50% - 30px); 
 
} 
 
.div1 { 
 
    float: left; 
 
} 
 
.div2 { 
 
    float: right; 
 
} 
 
.div1:after, .div2:before { 
 
    content:''; 
 
    position: absolute; 
 
    top: 0; 
 
    width: 0; 
 
    height: 0; 
 
} 
 
.div1:after { 
 
    left: 100%; 
 
    border-top: 100px solid #D25A1E; 
 
    border-right: 50px solid transparent; 
 
} 
 
.div2:before { 
 
    right: 100%; 
 
    border-bottom: 100px solid #D25A1E; 
 
    border-left: 50px solid transparent; 
 
}
<div class="div1"></div> 
 
<div class="div2"></div>

fiddle

Esempio 2

div { 
 
    background: #D25A1E; 
 
    min-height: 100px; 
 
    width: calc(50% - 25px); 
 
    position: relative;  
 
} 
 
.div1 { 
 
    float: left; 
 
} 
 
.div2 { 
 
    float: right; 
 
} 
 
div:after { 
 
    position: absolute; top: 0px; 
 
    content:'';  
 
    z-index: -1; 
 
    height: 100%; 
 
    width: 50%; 
 
    background: #D25A1E; 
 
} 
 
.div1:after {  
 
    right: 0; 
 
    transform-origin: bottom right; 
 
    transform: skewX(-20deg); 
 
} 
 
.div2:after {  
 
    left: 0; 
 
    transform-origin: top left; 
 
    transform: skewX(-20deg); 
 
}
<div class="div1"></div> 
 
<div class="div2"></div>

fiddle

+0

Ottima risposta. Stavo solo facendo qualcosa di simile. Se si eseguono tutti i valori in 'em', si regola automaticamente in base alla dimensione del carattere - [** My Demo **] (http://codepen.io/Paulie-D/pen/WvJwpP) –