基本上我想要的是我的主要div根据类别div的高度或内容(以较高者为准)拉伸所需的数量;和我的产品图片。 This is the ominous site
我的问题如下:
内容div和类别div都是主div的子节点,但是产品的图片浮出了它。最终在缩放时它也向右浮动。
因此,如果我将#main宽度设置为百分比,则缩放变得非常愚蠢,(缩小不会使图片变小,也不会使div或徽标,只有类别中的按钮。 但是,如果我设置为常数,那么它很好,但又如何响应呢?
为什么类别的边界不在正确的位置? (垂直方向)
在响应式移动视图中,图片再次位于所有内容之上,并且有一个滚动条,当我禁用缩放时,它应显示全屏。我必须在这里遗漏一些重要的东西。页脚也位于所有内容的中间,标题和类别之间还有一个额外的黑色部分,但这些元素中没有任何边距或填充。 See it here
提前致谢!
ps:我已经尝试了许多事情,从改变高度,宽度,玩边距,溢出开始,但无法找到如何正确地做到这一点的线索。 pps:我已在此处插入代码,因此您无需在上述网站上打开源代码,以便更快地进行检查。
body {
background-color: #161718;
background-image: url('../pictures/mdbg.png');
background-position: center;
background-repeat: no-repeat;
background-attachment: fixed;
background-size: 100% auto;
margin: 0px;
padding: 0px;
}
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);
}
#main {
margin: 0 auto;
width: 60%;
background-color: #1d1e20;
border-right: 3px solid #880708;
border-left: 3px solid #880708;
border-bottom: 3px solid #880708;
height: 100%;
min-height: 200px;
position: relative;
}
#logo {
margin: 20%;
white-space: nowrap;
overflow: hidden;
width: 40%;
}
#categories {
width: 15%;
border-right: 3px solid #880708;
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: 85%;
height: 100%;
position: absolute;
margin: 0 auto;
}
#content img {
width: 26%;
position: relative;
top: 5%;
left: 25%;
}
footer {
width: 100%;
height: 20px;
background-color: black;
color: white;
text-align: center;
border-top: 3px solid #880708;
position: absolute;
bottom: 0;
}
/* Laptop/Tablet (1366px) */
@media only screen and (min-width: 1025px) and (max-width: 1366px) and (orientation: landscape) {
header {
width: 100%;
}
#main {
width: 1000px;
}
footer {
width: 100%;
}
#categories {
width: 15%;
}
#content {
width: 85%;
}
}
/* Laptop/Tablet (1024px) */
@media only screen and (min-width: 481px) and (max-width: 1024px) and (orientation: landscape) {
header {
width: 100%;
}
#main {
width: 100%;
border: none;
}
footer {
width: 100%;
}
#categories {
width: 20%;
}
#content {
width: 80%;
top: 5%;
left: 38%;
}
}
/* Tablet Portrait (768px) */
@media only screen and (min-width: 321px) and (max-width: 1024px) and (orientation: portrait) {
header {
width: 100%;
height: 10%;
padding: 0px;
}
body {
background-image: none;
}
#main {
border: 0px;
width: 100%;
min-width: 200px;
}
footer {
width: 100%;
position: absolute;
}
#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;
}
#content img {
width: 80%;
position: relative;
top: 5%;
left: 0%;
}
}
/* Phone Landscape (480px) */
@media only screen and (min-width: 321px) and (max-width: 480px) and (orientation: landscape) {
.box {
float: left;
}
header {
width: 100%;
height: 40px;
}
main {
width: 100%;
}
footer {
width: 100%;
}
#categories {
width: 100%;
}
#content {
width: 100%;
}
}
/* Phone Portrait (320px) */
@media only screen and (max-width: 320px) {
.box {
float: left;
}
header {
width: 100%;
height: 40px;
}
main {
width: 100%;
}
footer {
width: 100%;
}
#categories {
width: 100%;
}
#content {
width: 100%;
}
}
<html>
<head>
<link rel="stylesheet" type="text/css" href="www.verychard.com/responsive/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>
</head>
<body>
<header></header>
<div id="main">
<ul id="categories">
<img id="logo" src="http://www.verychard.com/responsive/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="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
<img src="http://www.verychard.com/responsive/termek.png" alt="picture" />
</div>
<footer>All rights reserved Kecske PC 2015</footer>
</div>
</body>
</html>
答案 0 :(得分:0)
添加了一个普遍接受的clearfix版本,并删除了很多定位。最重要的是你的宽度是15%+ 85%= 100%+ 3px的边框,所以它强制元素下降到下一行,这就是为什么我怀疑你需要绝对定位让它留在你想要的地方,所以现在它分别为15%和75%。这不是完美的,但我希望这是一个开始。
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%; }
}
对html进行一些小改动
<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>
编辑:修正了一些格式化(不要复制表格控制台,这对你的强迫症来说很糟糕)。