【问题标题】:Centered Content w/ Sidebar (no header)带侧边栏的居中内容(无标题)
【发布时间】:2016-12-13 06:21:00
【问题描述】:

我想使用侧边栏作为导航,并将内容置于用户屏幕的中心。我有一个带有侧边栏的工作设置,内容位于侧边栏右侧和屏幕右侧之间,但这让我很困扰。我怎样才能有一个居中的内容和一个侧边栏。内容不得低于或超过侧边栏。调整大小时,侧边栏也不能被内容推离屏幕。不用担心移动设备,因为我稍后会用折叠菜单处理这个问题。 :P

正如您在 codepen 中看到的,内容居中,但位于侧边栏下方。 :( 我只是将它构建为一个简单的开始和视觉效果,供任何有兴趣调整代码的人使用。

这是我的Codepen的链接。

如果您将 codepen/jsfiddle 的代码基于我的 codepen 代码,那将非常有帮助。谢谢! :) 任何帮助都非常感谢,我提前感谢你。

HTML:

<div class="site-header">

<ul class="main-navigation"><a href="#">Overview</a>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
<div class="content">"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."</div>

CSS:

.content {
    position: relative;
    float: right;
    border: 1px solid yellow;
    word-wrap: break-word;
    white-space: normal;
    margin: auto;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
}

.site-header {
    padding: 1em;
    display: inline-block;
    top: 0;
    left: 0;
    right: 0;
    width: 12%;
    height: 100%;
    float: left;
    text-align: right;
    position: fixed;
    overflow: hidden;
    z-index: 1;
    border: 1px solid green;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    // background-color: blue;
}

.main-navigation {
    position: absolute;
    bottom: 40px;
    right: 0;
    cursor: default;
    // border: 1px solid red;
    list-style-type: none;
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    -webkit-padding-start: 0;
}

【问题讨论】:

    标签: html css layout position sidebar


    【解决方案1】:

    您可以在 90 之类的内容上设置百分比宽度,在侧边栏上设置 10% 的宽度。

    .content{
         border: 1px solid red;
         width: 90%;
     }
    .site-header{
         width: 10%;
         border: 1px solid green;
     }
    

    如果我明白你想要什么,这是一个 jsfiddle。 https://jsfiddle.net/49t0kspp/

    【讨论】:

    • 我有类似的东西,但问题是内容必须位于用户屏幕的中心,并且侧边栏位于其左侧。在此示例中,内容从侧边栏的一侧居中到屏幕的一侧。
    • @E.Shio 我不确定我是否关注。你可以在这里查看它的代码笔。 codepen.io/WansonSwanson/pen/GqwRAZ 这是你的意思吗?它与您刚刚限制为不进入侧边栏相同。也许你想要 text-align: center;关于内容。
    • 这是你目前所拥有的,适用于这种情况,codepen.io/WansonSwanson/pen/GqwRAZ 更具响应性的是 codepen.io/WansonSwanson/pen/bZQGRG
    • 实际上,这与我想要的很接近。我希望内容在用户屏幕上以物理方式居中,而侧边栏就在旁边。我可以通过在右侧设置与左侧边栏宽度相同的空白边栏来做到这一点吗?
    • 对不起,由于某种原因,保存被搞砸了。 codepen.io/WansonSwanson/pen/bZQGRG 秤。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-11
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-04
    相关资源
    最近更新 更多