I\'m trying to make a navigation-div with 4 buttons, one to go left, one to go right, another one to go down and yet another one to go up. Plus there needs to be an OK-butto
As others have already pointed out, you should use SVG for this. Below is a CSS alternative that you may use.
It uses transformed pseudo-elements and transform-origin property. To make it responsive, you need to change the units. As the units are in em in this approach, simply change the font size in the parent, or the body element.
Fiddle
body {
font-size: 12px;
}
.left, .right, .top, .bottom, .ok {
height: 10em;
width: 10em;
position: relative;
}
.left {
background-color: #FFBF00;
margin-top: 10em;
}
.right {
background-color: #FF7E00;
margin-top: -10em;
margin-left: 20em;
}
.top {
background-color: #D3212D;
margin-top: -20em;
margin-left: 10em;
}
.bottom {
background-color: #318CE7;
margin-top: 10em;
margin-left: 10em;
}
.ok {
background-color: #3B444B;
margin-top: -21.666em;
margin-left: 8.333em;
height: 13.33em;
width: 13.33em;
}
.ok span {
line-height: 6.666em;
text-align: center;
width: inherit;
display: block;
font-size: 2em;
font-family: sans-serif;
color: white;
font-weight: bold;
}
.left:before, .left:after, .right:before, .right:after, .top:before, .top:after, .bottom:before, .bottom:after {
position: absolute;
content: "";
height: inherit;
width: inherit;
background-color: inherit;
}
.left:before, .right:before {
-webkit-transform: skewY(45deg);
-moz-transform: skewY(45deg);
-ms-transform: skewY(45deg);
-o-transform: skewY(45deg);
transform: skewY(45deg);
}
.top:before, .bottom:before {
-webkit-transform: skewX(45deg);
-moz-transform: skewX(45deg);
-ms-transform: skewX(45deg);
-o-transform: skewX(45deg);
transform: skewX(45deg);
}
.left:after, .right:after {
-webkit-transform: skewY(-45deg);
-moz-transform: skewY(-45deg);
-ms-transform: skewY(-45deg);
-o-transform: skewY(-45deg);
transform: skewY(-45deg);
}
.top:after, .bottom:after {
-webkit-transform: skewX(-45deg);
-moz-transform: skewX(-45deg);
-ms-transform: skewX(-45deg);
-o-transform: skewX(-45deg);
transform: skewX(-45deg);
}
.left:before, .left:after, .bottom:before, .bottom:after {
-webkit-transform-origin: 100% 0%;
-moz-transform-origin: 100% 0%;
-ms-transform-origin: 100% 0%;
-o-transform-origin: 100% 0%;
transform-origin: 100% 0%;
}
.right:before, .right:after, .top:before, .top:after {
-webkit-transform-origin: 0% 100%;
-moz-transform-origin: 0% 100%;
-ms-transform-origin: 0% 100%;
-o-transform-origin: 0% 100%;
transform-origin: 0% 100%;
}
/*HOVER STYLES*/
.top:hover, .right:hover, .bottom:hover, .left:hover, .ok:hover {background: #F7E7CE; transition: 0.3s ease;}
.ok:hover span {color: #222;}
OK
Screenshot (gif)

Browser support: IE 9+, GC 4+, FF 3.5+, Safari 3.1+, Opera 11.5+