Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rikaschmitt

Tem como criar divs com cantos retos?

Recommended Posts

Resultado:

div_reta.png

Código:

<style>

.box{
    width: 310px;
    height: 100px;
    position: relative;
}

.borda-externa{
    border:1px solid black;
    height: 100%;
}

.borda-interna{
	padding: 5px;
	padding-top: 30px;
}

.borda-externa:before,.borda-externa:after{
    font-size: 0px; 
    content: ".";
    position: absolute;    
}
.borda-externa:before{
    border-top: 30px solid white;
    border-right: 30px solid black;
    left: 0;
    top: 0;
}

.borda-externa:after {
    border-top: 30px solid white;
    border-left: 30px solid transparent;
    right: 0;
    top: 0;
}


.borda-interna:before, .borda-interna:after{
    font-size: 0px; 
    content: ".";
    position: absolute; 	
}

.borda-interna:before{
    border-top: 30px solid transparent;
    border-right: 30px solid white;
    border-left: 1px solid transparent;
    left: 0;
    top: 0;
}

.borda-interna:after{
    border-top: 30px solid black;
    border-left: 30px solid white;
    border-right: 1px solid transparent;
    right: 0;
    top: 0;
}

</style>

<div class="box">
	<div class="borda-externa">
		<div class="borda-interna">
			<div>Conteudo</div>
		</div>
	</div> 
</div> 


Comente o código de ".borda-externa:after" e ".borda-interna:after" para que fique como na sua imagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode criar um quadrado normal... e no canto que você deseja essa "quebra" você usa uma pequena imagem sobrepondo o quadrado, economiza bastante código :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode criar um quadrado normal... e no canto que você deseja essa "quebra" você usa uma pequena imagem sobrepondo o quadrado, economiza bastante código :)

 

Sim.

Em uma das seções vou utilizar esta técnica já.

Mas nas demais, como cantos de menu e tals.. que é mais "pesado", vou utilizar imagens no fundo mesmo.

 

valeu gente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outro exemplo:

style>
#main{
	width: 400px;
	height: 300px;
	position: fixed;
}

.topo-borda {
    width: calc(100% - 40px);
    height: 0px;
    border-bottom: 40px solid black;
    border-left: 40px solid white;
}

.content-borda{
    width: 100%;
    height: 200px;
    background-color: black;
}

.topo-content
{
	width: calc(100% - 41px);
    position: absolute;
    left: 0;
    top: 1;
    border-bottom: 40px solid white;
    border-left: 40px solid transparent;
}

.content{
    width: calc(100% - 2px);
    height: 199px;
    top: 40px;
    left: 1;
    position: absolute;
	background-color: white;
}
</style>

<div id="main">

<div class="topo-borda"></div>
<div class="content-borda"></div>

<div class="topo-content"></div>
<div class="content">
Lorem Ipsum é simplesmente uma simulação de texto da indústria tipográfica e de impressos, e vem sendo 
</div>
</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.