这个流体网格布局我哪里出错了?

时间:2017-04-15 17:26:28

标签: html css fluid-layout

这是我第一次来这里。一位朋友认为这是一个很好的知识来源,我迫切需要它!

我正在尝试使用视口,媒体查询和流畅的网格来编写HTML和CSS,以创建一个从桌面(mobile example)扩展到移动(https://www.codeproject.com/KB/recipes/geneticlibrary/galsource.zip)的页面。

我试图在w3c网站的帮助下将它拼凑起来,但是那些不是特别有帮助的人说我在那里有引导程序(我没有打算使用它,并希望它被取出但我不知道它是什么)。

我设法实现的是移动尺寸的工作,但由于某种原因,框的颜色区域应该是桌面上行的宽度的50%和25%。他们应该伸展。

我做错了什么?帮助最多,最受欢迎!

这是我写过的HTML:



And this is the CSS: @charset "utf-8";

/* CSS Document */

* {
  box-sizing: border-box;
}

.row::after {
  content: "";
  clear: both;
  display: table;
}

[class*="col-"] {
  float: left;
  padding: 8px;
  border: thin rgba(0, 0, 0, 1.00);
}

.col-1 {
  width: 8.33%;
}

.col-2 {
  width: 16.66%;
}

.col-3 {
  width: 25%;
}

.col-4 {
  width: 33.33%;
}

.col-5 {
  width: 41.66%;
}

.col-6 {
  width: 50%;
}

.col-7 {
  width: 58.33%;
}

.col-8 {
  width: 66.66%;
}

.col-9 {
  width: 75%;
}

.col-10 {
  width: 83.33%;
}

.col-11 {
  width: 91.66%;
}

.col-12 {
  width: 100%;
}

html {
  font-family: Constantia, "Lucida Bright", "DejaVu Serif", Georgia, "serif";
}

.navspot {
  width: 100%;
  max-width: 100%;
  padding: 10px;
  height: auto;
  vertical-align: middle;
  background: #d9cf91;
  text-align: right;
}

.maincontent {
  /*properties for cell*/
  /*Nothing is required here
    because we can use default styles*/
  background: #30332c;
  color: #FFFFFF;
  padding: 10px;
}

.box1 {
  background-color: #dfcf91;
  color: #FFFFFF;
  padding: 10px;
  text-align: left;
  float: left;
}

.box2 {
  background-color: rgba(107, 35, 36, 1.00);
  color: #FFFFFF;
  text-align: center;
  padding: 10px;
  float: left;
}

.box3 {
  background-color: #8D9981;
  text-align: center;
  padding: 10px;
  float: left;
}

.box4 {
  background-color: #606956;
  text-align: center;
  padding: 10px;
  float: left;
}

.box5 {
  background-color: #8D9981;
  text-align: center;
  padding: 10px;
  float: left;
}

.box6 {
  background-color: #606956;
  text-align: center;
  padding: 10px;
  float: left;
}

.footer {
  /*properties for cell*/
  /*Nothing is required here because we can use default styles*/
  /*background: #d9cf91;*/
  padding: 10px;
}


/*for phone*/

@media only screen and (max-width: 768px) {
  [class*="col-"] {
    width: 100%;
  }
}

<div class="row">
  <div class="col">
    <div class="navspot">Navigation Spot
    </div>
  </div>
</div>

<div class="row">
  <div class="col">
    <div class="maincontent">Main Content Spot
    </div>
  </div>
</div>

<div class="row">
  <div class="col-6">
    <div class="box1">Box 1
    </div>
  </div>
  <div class="col-6">
    <div class="box2">Box 2
    </div>
  </div>
</div>

<div class="row">
  <div class="col-3">
    <div class="box3">Box 3
    </div>
  </div>

  <div class="col-3">
    <div class="box4">Box 4
    </div>
  </div>

  <div class="col-3">
    <div class="box5">Box 5
    </div>
  </div>

  <div class="col-3">
    <div class="box6">Box 6
    </div>
  </div>

  <div class="row">
    <div class="col">
      <div class="footer">Footer Area
      </div>
    </div>
  </div>
&#13;
&#13;
&#13;

很抱歉,如果我是个笨蛋。真的很难与CSS和流动性的概念。提前谢谢!

1 个答案:

答案 0 :(得分:0)

修复1:未拉伸的彩色内容框

ovokuro 说,然后从&#34; .box&#34;的 ALL 中删除log(data):void {}行。类。

修复2:列行为和包裹在网格中

网格中的某些 div 元素未按预期继承float:left;模型。要为所有浏览器修复此问题,请添加:

border-box

有关详情,请参阅 Box Sizing > Universal Box Sizing with Inheritance

修正3:指南

在您学习的过程中,为您的网格添加一些指南,以便您可以更轻松地了解自己在做什么,以及事情的相关性。例如:

 html {
     box-sizing: border-box;
  }
 *, *:before, *:after {
     box-sizing: inherit;
  }