.circle {
width: 40px;
height: 40px;
border-radius: 50%;
background-color: yellow;
position: absolute;
z-index: 20;
border: 1px solid #AAAAAA;
box-shadow: 0 0 8px 2px yellow;
}
.roof {
width: 280px;
height: 80px;
background-color: gray;
border-top-left-radius: 50%;
border-top-right-radius: 50%;
left: 0;
z-index: -2;
position: relative;
}
.windscreen {
width: 260px;
height: 75px;
background: rgb(41, 137, 216);
/* Old browsers */
background: -moz-linear-gradient(-45deg, rgba(41, 137, 216, 1) 10%, rgba(170, 170, 170, 1) 22%, rgba(41, 137, 216, 1) 35%, rgba(170, 170, 170, 1) 50%, rgba(41, 137, 216, 1) 65%, rgba(170, 170, 170, 1) 78%, rgba(41, 137, 216, 1) 90%, rgba(41, 137, 216, 1) 100%);
/* FF3.6+ */
background: -webkit-gradient(linear, left top, right bottom, color-stop(10%, rgba(41, 137, 216, 1)), color-stop(22%, rgba(170, 170, 170, 1)), color-stop(35%, rgba(41, 137, 216, 1)), color-stop(50%, rgba(170, 170, 170, 1)), color-stop(65%, rgba(41, 137, 216, 1)), color-stop(78%, rgba(170, 170, 170, 1)), color-stop(90%, rgba(41, 137, 216, 1)), color-stop(100%, rgba(41, 137, 216, 1)));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(-45deg, rgba(41, 137, 216, 1) 10%, rgba(170, 170, 170, 1) 22%, rgba(41, 137, 216, 1) 35%, rgba(170, 170, 170, 1) 50%, rgba(41, 137, 216, 1) 65%, rgba(170, 170, 170, 1) 78%, rgba(41, 137, 216, 1) 90%, rgba(41, 137, 216, 1) 100%);
/* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(-45deg, rgba(41, 137, 216, 1) 10%, rgba(170, 170, 170, 1) 22%, rgba(41, 137, 216, 1) 35%, rgba(170, 170, 170, 1) 50%, rgba(41, 137, 216, 1) 65%, rgba(170, 170, 170, 1) 78%, rgba(41, 137, 216, 1) 90%, rgba(41, 137, 216, 1) 100%);
/* Opera 11.10+ */
background: -ms-linear-gradient(-45deg, rgba(41, 137, 216, 1) 10%, rgba(170, 170, 170, 1) 22%, rgba(41, 137, 216, 1) 35%, rgba(170, 170, 170, 1) 50%, rgba(41, 137, 216, 1) 65%, rgba(170, 170, 170, 1) 78%, rgba(41, 137, 216, 1) 90%, rgba(41, 137, 216, 1) 100%);
/* IE10+ */
background: linear-gradient(135deg, rgba(41, 137, 216, 1) 10%, rgba(170, 170, 170, 1) 22%, rgba(41, 137, 216, 1) 35%, rgba(170, 170, 170, 1) 50%, rgba(41, 137, 216, 1) 65%, rgba(170, 170, 170, 1) 78%, rgba(41, 137, 216, 1) 90%, rgba(41, 137, 216, 1) 100%);
/* W3C */
filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#2989d8', endColorstr='#2989d8', GradientType=1);
/* IE6-9 fallback on horizontal gradient */
margin-left: 10px;
box-shadow: inset 0 0 0 2px #000;
/*not sure of this*/
}
.roof-bonnet {
height: 320px;
margin-top: -100px;
}
#numberplate {
height: 40px;
width: 190px;
background-color: white;
bottom: 10px;
position: relative;
margin-top: -45px;
margin-left: 44px;
border: 2px solid black;
font-size: auto;
text-align: center;
}
.circle-headlight {
margin-top: -55px;
background-color: white;
box-shadow: 0 0 8px 2px white;
}
.right-headlight {
margin-left: 238px;
}
<div class="circle"></div>
<div class="circle" style="margin-left:240px;"></div>
<div class="roof"></div>
<div class="windscreen"></div>
<div class="roof roof-bonnet"></div>
<div class="circle circle-headlight"></div>
<div class="circle circle-headlight right-headlight"></div>
<div id="numberplate">REG PLATE</div>
I've been trying to generate a lorry/truck in CSS, but am having some difficulty generating the side mirrors, I think mainly due to my bad designing/use of position
.
I currently have the above code, which generate the basic lorry shape (not complete by all means).
I would like to add something like:
+-------+
| | \
| | |
| /| |
| //| |
| // | |
| // /| |
| // //| |
| // // |_________/
--- +//
-----+
|
|
To either side.
Would anyone have any suggestions as to adding this without 'breaking' the current pen?
So far I have tried to generate this shape, using:
#wing-mirror {
margin-top:40px;
width: 100px;
height: 50px;
background: red;
position: relative;
transform: rotate(-90deg);
border-radius:20px;
}
#wing-mirror:after {
content: "";
position: absolute;
bottom: 0;
left: 0;
border-top: 10px solid red;
border-left: 29px solid #fff;
border-right: 29px solid #fff;
width: 42px;
height: 0;
}
After Many Attempts, and post writing this question,
i have created this 'wing mirror', but since I am using specific values, placing this 'next' to my lorry, the alignment breaks and so none of the 'bonnet/windscreen/roof align properly, no matter where i put this wing mirror in my html.
My completed wing mirror looks like this:
#wing-mirror {
margin-top: 40px;
width: 100px;
height: 50px;
background: gray;
position: relative;
transform: rotate(-90deg);
border-radius: 20px;
}
#wing-mirror:after {
content: "";
position: absolute;
bottom: 0;
left: 0;
border-top: 10px solid gray;
border-left: 29px solid #fff;
border-right: 29px solid #fff;
width: 42px;
height: 0;
}
.border-div {
width: 75px;
background-color: gray;
height: 10px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
margin-left: 30px;
}
.border-div-top {
width: 50px;
background-color: gray;
height: 10px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
margin-left: 50px;
margin-top: -20px;
}
<div id="wing-mirror"></div>
<div class="border-div"></div>
<div class="border-div-top"></div>
But how can I attach this into my overall lorry? As everything I've tried leads to 'jumpy' elements (they don't 'stick' to the lorry) and they don't align correctly to the side of the elements (the don't appear to left or right of the lorry, possibly due to bad implementation).