【问题标题】:Responsive Web Layout (No Header)响应式网页布局(无标题)
【发布时间】:2016-12-14 20:25:02
【问题描述】:

这是我当前的网站布局,codepen

如果窗口被调整大小,它不会将文本从主导航推过去,用 css 对此进行编码会是一种更具响应性的方式。另外,在不使用填充的情况下,为相同的布局编写 css 的更好方法是什么?我编码它的方式似乎效率低下。我正在使用媒体查询在 480 像素以下时隐藏标题并显示我的移动菜单触发器,所以不用担心。只是想知道创建此布局的更好、响应速度更快的方法是什么。

感谢您的建议或帮助,并提前感谢您的努力。 :)

HTML:

<div class="site-header">
<ul class="main-navigation"><li><a href="#">Overview</a>
</li>
<li><a href="#">Blog</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>

<div class="content">

<p>
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
</p>

CSS:

.site-header {
    display: inline-block;
    top: 0;
    left: 0;
    right: 0;
    width: 14%;
    height: 100%;
    float: left;
    text-align: right;
    position: fixed;
    z-index: 1;
    // border: 1px solid green;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
}

.main-navigation {
    position: absolute;
    bottom: 40px;
    left: 0;
    right: 0;
    cursor: default;
    // border: 1px solid red;
    list-style-type: none;
 }

 .content {
    position: relative;
    float: right;
    // border: 1px solid yellow;
    word-wrap: break-word;
    white-space: normal;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    width: 86%;
    overflow: hidden;
    padding-right: 10%;
    padding-left: 10%;
}

【问题讨论】:

  • 这个问题要么过于宽泛,要么基于观点,要么需要讨论,因此与 Stack Overflow 无关。如果您有具体的、可回答的编程问题,请提供完整的详细信息。

标签: html css layout position responsive


【解决方案1】:

好吧,我喜欢看到这种类型的问题,因为这意味着你足够关心问......所以,这是你的第一课。

您的 CSS 似乎发生了太多事情。了解响应式布局最重要的一点是 CSS 应始终“移动优先”。这被称为“渐进增强”。您主要编写 CSS 来迎合移动布局 - 使用最小宽度断点(开始时大约 320 像素宽),然后随着显示视口变大 - 您“增强”布局。

您目前拥有的是如何不使用它的现代示例,主要是用于更新旧网站的技术。它也被称为“Graceful Degradation”,通常由 1280px 到 980px 的最大宽度断点控制以启动,并且需要最终将元素移除或移动到视口之外以避免碰撞或空间不足。

移动优先方法的好处是您处理的“杂乱”更少 - 正确利用您的空间,然后添加并重新对齐特定元素以利用该空间。此外,您还可以将 CSS 压缩到一定程度,使其保持干燥(代表“不要重复自己”)。

看看你的布局,它没有太多意义。如果有的话,您会希望人们在向他们展示内容之前拥有浏览网站所需的一切。

试着稍微修正一下代码,看看你能用我给你的建议做什么。然后,我会叉你的笔,我们可以更进一步。

【讨论】:

  • 我将内容区域分成 3 列,然后根据设备的宽度下降到两列然后一列。我真的不知道还有很多事情要做吗?我可以将您链接到该网站以便您查看吗?该站点并没有真正运行,但它存在并且已退出维护模式。
  • 我所指的一个超级简单的例子 - codepen.io/StevenVentimiglia/pen/oLQqYE
  • 不错的 codepen,非常干净且响应迅速。问题是,我想要一个侧边栏导航,旁边有内容,只是为了“有点”不同。
  • 那么,如果它变成 320px 宽度(在手机上查看时),你会怎么做?有时,列需要变成“汉堡”菜单。但是,接下来需要实现 jQuery。此外,如果他们需要漂浮在内容之上,那么这是一个全新的球赛。请记住,花车与周围的元素无关(另外,您需要了解 clearfix。)我小时候一直想驾驶喷气式飞机,但需要先学习如何骑自行车。 ;)
  • 我最喜欢的一个是Treehouse。这是一种上瘾,它不断地将我推向我从未想过自己会接受的挑战。我最初也是一名具有摄影背景的设计师。就我而言,没有比最初作为设计师开始的前端开发人员更好的了。拥抱那个“中立区”。 :D
猜你喜欢
  • 1970-01-01
  • 2015-08-05
  • 2020-06-15
  • 2016-05-23
  • 1970-01-01
  • 2012-10-01
  • 2022-08-04
  • 2017-08-05
  • 2018-07-28
相关资源
最近更新 更多