Implemented a widely accepted version of clearfix and eliminated excessive positioning. The key issue was the total width calculation causing the element to drop to the next line, which may have required absolute positioning to keep it in place. Adjusted widths to 15% and 75% to alleviate this problem. It’s not perfect, but it's a step in the right direction.
body {
background-color:#161718;
background-image:url('../pictures/mdbg.png');
background-position:center;
background-repeat:no-repeat;
background-attachment: fixed;
background-size: cover;
margin: 0px;
padding: 0px;
height: 100%;
}
header{
width:100%;
height: 60px;
background: linear-gradient(to bottom, rgba(230, 16, 16, 1) 1%, rgba(136, 7, 8, 1) 100%) repeat scroll 0 0 rgba(0, 0, 0, 0);
}
.clearfix:after {
content: "";
display: table;
clear: both;
}
#main{
margin: 0 auto;
width: 60%;
background-color: #1d1e20;
border: 3px solid #880708;
border-top: 0px none transparent;
min-height: 200px;
position:relative;
}
#logo{
margin: 20%;
white-space:nowrap;
overflow:hidden;
width: 40%;
}
#categories{
width: 15%;
border-right: 3px solid #880708;
margin: 0;
height: 100%;
padding: 0;
float:left;
font: 12px Verdana;
list-style-type: none;
text-align:center;
white-space:nowrap;
}
ul#categories a {
background: linear-gradient(to bottom, rgba(193, 32, 38, 1) 1%, rgba(104, 12, 13, 1) 100%) repeat scroll 0 0 rgba(0, 0, 0, 0);
text-shadow: 1px 1px 0 #000000;
border-radius: 2px;
color: white;
display: inline-block;
font-size: 1.3em;
margin: 4px;
padding: 2px 2px;
text-decoration: none;
width: 80%;
}
#content{
float:right;
width:75%; /* 100% - 15% - 3px > 85% so mind the gap */
height: 100%;
margin: 0;
padding: 0;
}
#content img{
width: 26%;
}
footer {
width: 100%;
height: 20px;
background-color: black;
color:white;
text-align:center;
border-top: 3px solid #880708;
bottom: 0;
}
/* Laptop/Tablet (1366px) */
@media only screen and (min-width: 1025px) and (max-width: 1366px) and (orientation: landscape) {
header { }
#main { width: 1000px; }
footer { }
#categories { }
#content { }
}
/* Laptop/Tablet (1024px) */
@media only screen and (min-width: 481px) and (max-width: 1024px) and (orientation: landscape) {
header { }
#main { width: 100%; border:none;}
footer { }
#categories { width: 20%; }
#content { width: 70%; }
}
/* Tablet Portrait (768px) */
@media only screen and (min-width: 321px) and (max-width: 1024px) and (orientation: portrait) {
header { height: 10%; padding: 0px;}
body {background-image:none;}
#main { border:0px; width: 100%; min-width: 200px;}
footer { }
#logo {display:none;}
#categories { width: 100%; border:0px;}
ul#categories a { width:100%; font-size:2.6em; margin: 0 auto; padding-top:10px; padding-bottom: 10px; display: inline-block;}
#content {width: 100%; margin: 0 auto; left: 15%; overflow:scroll; padding-top: 15px;}
#content img{width: 80%;}
}
/* Phone Landscape (480px) */
@media only screen and (min-width: 321px) and (max-width: 480px) and (orientation: landscape) {
.box { float: left; }
header {height: 40px;}
main { width: 100%; }
footer { }
#categories { width: 100%; }
#content { width: 100%; }
}
/* Phone Portrait (320px) */
@media only screen and (max-width: 320px) {
.box { float: left; }
header { height: 40px;}
main { width: 100%; }
footer { }
#categories { width: 100%;}
#content { width: 100%; }
}
Adjusted some HTML elements for better functionality
<html>
<head>
<link rel="stylesheet" type="text/css" href="styles/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"> <!--320 mobile devices cant zoom-->
<title>Webshop</title>
<style type="text/css"></style>
</head>
<body>
<header></header>
<div id="main" class="clearfix">
<ul id="categories">
<img id="logo" src="kecske.png">
<li><a>Motherboard</a></li>
<li><a>Processor</a></li>
<li><a>Memory</a></li>
<li><a>FSP</a></li>
<li><a>Whatever</a></li>
<li><a>Monitor</a></li>
<li><a>Motherboard</a></li>
<li><a>Processor</a></li>
<li><a>Memory</a></li>
<li><a>FSP</a></li>
<li><a>Whatever</a></li>
<li><a>Monitor</a></li>
</ul>
<div id="content">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
<img src="termek.png" alt="picture">
</div>
<div class="clearfix"></div>
<footer>All rights reserved Kecske PC 2015</footer>
</div>
<style>.tb_button {padding:1px;cursor:pointer;border-right: 1px solid #8b8b8b;border-left: 1px solid #FFF;border-bottom: 1px solid #fff;}.tb_button.hover {borer:2px outset #def; background-color: #f8f8f8 !important;}.ws_toolbar {z-index:100000} .ws_toolbar .ws_tb_btn {cursor:pointer;border:1px solid #555;padding:3px} .tb_highlight{background-color:yellow} .tb_hide {visibility:hidden} .ws_toolbar img {padding:2px;margin:0px}</style>
</body>
</html>
Updated formatting for improved readability.