滚动条和元素-HTML / CSS

Fr0zen官方

我有一个小问题。

我试图创建一个社交媒体平台-一切正常。

但是,这让我很烦恼:我想创建一个帖子所在的区域。如果有3个以上,则必须与鼠标搭配。滚动条不在正确的位置。

这是错误的设计(但“正确”技术):

错误的设计

在这里,控制起来更清晰,更简单。 正确的设计

我的想象是:帖子区域应该滚动。

我的CSS:

* {
    box-sizing:border-box;
}
a {
    text-decoration:none;
    color:#FFF;
}
a:hover {
    color:#F5F5F5;
}
body {
    margin:0px;
    width:100%;
    height:100%;
    background-color:#99cc99;
    font-family:'Open Sans';
    overflow-y: scroll;
}
.website {
    position:absolute;
    left:50%;
    margin-left:-540px;
    width:1080px;
    height:100%;
    background-color:#99cc99;
    border-collapse: separate;
}

#menu {
    position:fixed;
    top:0px;
    width:1080px;
    height:50px;
    background-color:#6dbd6c;
}
#partition-horizontal {
    height:0px;
    background-color:#99cc99;
    }
#content {
    width:100%;
    height:auto;
    background-color:transparent;
}
#left-top {
    width:330px;
    height:50px;
    border-bottom:2px solid #437C42;
}
#partition1 {
    background-color:#6dbd6c;
    width:10px;
    height:50px;
    border-bottom:2px solid #437C42;
}
#right-top {
    width:770px;
    border-bottom:2px solid #437C42;
    height:50px;
}
#right-top .menu {
    position:relative;
    float:left;

}
#right-top .menu a {
    height:100%;
    width:auto;
    padding-top:15px;
    padding-bottom:15px;
    padding-left:15px;
    padding-right:15px;
}
#right-top .menu a:hover {
    background-color:rgba(0,0,0,0.15);
    color:#fff;
}
#right-top .menu a:first-child {
    margin-left:-0px;
}
#left-bottom {
    clear:both;
    width:330px;
    height:auto;
    background-color:#fff;
}
#right-bottom {
    clear:both;
    width:770px;
    overflow:auto;
}

#partition2 {
    background-color:#99cc99;
    width:10px;
}
#left-bottom-area {
padding:;
width:100%;
height:851px;
clear:both;
}
#right-bottom-area {
padding:;
width:100%;
min-height:887px;
height:auto;
clear:both;
}
#right-bottom-area #poster {
    width:100%;
    height:300px;
    background-color:#FFF;
    border-bottom-right-radius:3px;
    border-bottom-left-radius:3px;
    margin-bottom:10px;
}
#right-bottom-area #real-content {
    width:100%;
    height:auto;
    background-color:#FFFFFF;
    border-top-right-radius:3px;
    border-top-left-radius:3px;
    color:#111111;
    overflow:hidden;
}

#real-content p {
    width:100%;
    height:200px;
    background-color:#FFFFFF;
    border-bottom:1px solid #99cc99;
    padding:15px;
    margin-top:0px;
    margin-bottom:0px;
}

#real-content p:hover {
    background-color:rgba(0,0,0,0.02);
}
#real-content p:last-child {
    border-bottom:none;
}

我的HTML / PHP:

<?php

$links = $_SERVER['REQUEST_URI'];
preg_match("/[^\/]+$/", $links, $matches);
$link = $matches[0];


?>


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>box6</title>
<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="./design.css" />
<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="./resources/scripts/js/main.js"></script>
</head>

<body>


<table class="website" cellspacing="0">
  <tr id="menu">
    <th id="left-top"></th>
    <td id="partition1"></td>
    <th id="right-top">
        <div class="menu">
            <a href="./me">Home</a>
            <a href="./friends">Friends</a>
            <a href="./gallery">Gallery</a>
            <a href="./settings">Settings</a>
        </div>
    </th>
  </tr>
  <tr id="partition-horizontal"></tr>
  <tr id="content">
    <td id="left-bottom">
        <div id="left-bottom-area"></div>
    </td>
    <td id="partition2"></td>
    <td id="right-bottom">
        <div id="right-bottom-area">
        <?php
            if($link == "me"){
            ?>
            <div id="poster">

            </div>
            <div id="real-content" full-site="false">
                <?php



                //HERE IS THE POSTS-AREA
                for ($i = 0; $i < 10; $i++) {
                    echo "<p>".$i."</p>";
                }



                ?>
            </div>
            <?php
            }else {
            ?>
            <div id="real-content" full-site="true" style="border-radius:0px;">

            </div>
            <?php   
            }
        ?>

        </div>
    </td>
  </tr>
</table>
</body>
</html>
jlowcs

您的代码有很多问题。

我建议不要使用表格,而是使用div作为布局。表通常只应用于显示表格数据。另外,您的溢出有很多问题,应该没有绝对的定位。最后,我建议您将CSS calc()函数用于宽度和高度。IE9支持。

height: calc(100% - 30px);

这是我的做法(可能需要一些其他修改):

http://codepen.io/jlowcs/pen/dPKKdB

HTML:

<div class="website" cellspacing="0">
  <div id="menu">
    <div id="left-top"></div
    ><div id="partition1"></div
    ><div id="right-top">
        <div class="menu">
            <a href="./me">Home</a>
            <a href="./friends">Friends</a>
            <a href="./gallery">Gallery</a>
            <a href="./settings">Settings</a>
        </div>
    </div>
  </div>
  <div id="partition-horizontal"></div>
  <div id="content">
    <div id="left-bottom">
        <div id="left-bottom-area"></div>
    </div
    ><div id="partition2"></div
    ><div id="right-bottom">
        <div id="right-bottom-area">
            <div id="poster">

            </div>
            <div id="real-content" full-site="false">
              <p>1</p>
              <p>2</p>
              <p>3</p>
              <p>4</p>
              <p>5</p>
            </div>
        </div>
    </div>
  </div>
</div>

CSS:

html, body {
    height: 100%;
}

* {
    box-sizing:border-box;
}
a {
    text-decoration:none;
    color:#FFF;
}
a:hover {
    color:#F5F5F5;
}
body {
    margin:0px;
    width:100%;
    height:100%;
    background-color:#99cc99;
    font-family:'Open Sans';
}
.website {
    margin: auto;
    width:1080px;
    height:100%;
    background-color:#99cc99;
    border-collapse: separate;
}

#menu {
    width:1080px;
    height:50px;
    background-color:#6dbd6c;
}
#menu > * {
    display: inline-block;
}
#partition-horizontal {
    height:0px;
    background-color:#99cc99;
}
#content {
    overflow: hidden;  /* FIXED */
    height: calc(100% - 50px);  /* FIXED */
    width: 100%;
    background-color:transparent;
}
#left-top {
    width:330px;
    height:50px;
    border-bottom:2px solid #437C42;
}
#partition1 {
    background-color:#6dbd6c;
    width:10px;
    height:50px;
    border-bottom:2px solid #437C42;
}
#right-top {
    width: calc(100% - 330px - 10px);
    border-bottom:2px solid #437C42;
    height:50px;
}
#right-top .menu {
    height:100%;
    position:relative;
    float:left;

}
#right-top .menu a {
    line-height: 48px;
    padding-left:15px;
    padding-right:15px;
}
#right-top .menu a:hover {
    background-color:rgba(0,0,0,0.15);
    color:#fff;
}
#right-top .menu a:first-child {
    margin-left:-0px;
}

#content > * {
    display: inline-block;
    vertical-align: top;
}

#left-bottom {
    width: 330px;
    height: 100%;
    background-color: #fff;
}

#partition2 {
    background-color: #99cc99;
    width: 10px;
    height: 100%;
}
#left-bottom-area {
    overflow: auto;
    width:100%;
}
#right-bottom {
    width: calc(100% - 330px - 10px);
    height: 100%;
}
#right-bottom-area {
    height: 100%;
}
#right-bottom-area #poster {
    height:300px;
    background-color:#FFF;
    border-bottom-right-radius:3px;
    border-bottom-left-radius:3px;
    margin-bottom:10px;
}
#right-bottom-area #real-content {
    width: 100%;
    height: calc(100% - 300px - 10px);
    background-color:#FFFFFF;
    border-top-right-radius:3px;
    border-top-left-radius:3px;
    color:#111111;
    overflow:auto; /* FIXED */
}

#real-content p {
    width:100%;
    height:200px;
    background-color:#FFFFFF;
    border-bottom:1px solid #99cc99;
    padding:15px;
    margin-top:0px;
    margin-bottom:0px;
}

#real-content p:hover {
    background-color:rgba(0,0,0,0.02);
}
#real-content p:last-child {
    border-bottom:none;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

滚动条的HTML / CSS全角问题

来自分类Dev

HTML / CSS中的滚动条格式

来自分类Dev

HTML / CSS-更改滚动条?

来自分类Dev

不带CSS滚动条的滚动元素

来自分类Dev

不带CSS滚动条的滚动元素

来自分类Dev

带有CSS和HTML的IE垂直滚动条宽度

来自分类Dev

HTML和CSS:使用垂直滚动条水平拆分页面

来自分类Dev

HTML / CSS | 滚动条-更改div和拇指悬停时的颜色

来自分类Dev

HTML和CSS:使用垂直滚动条水平拆分页面

来自分类Dev

带有CSS和HTML的IE垂直滚动条宽度

来自分类Dev

为什么我有一个带有 css 和 html 的水平滚动条

来自分类Dev

在Firefox中增加滚动条宽度-HTML / CSS

来自分类Dev

CSS / HTML:无滚动条的窗口中心文本

来自分类Dev

滚动所有嵌套的滚动条以显示HTML元素

来自分类Dev

CSS溢出滚动和隐藏滚动条(iOS)

来自分类Dev

CSS溢出滚动和隐藏滚动条(iOS)

来自分类Dev

CSS固定元素显示在滚动条上

来自分类Dev

CSS文本和框阴影导致滚动条出现?

来自分类Dev

CSS文本和框阴影导致滚动条出现?

来自分类Dev

CSS 3滚动条-添加填充和光标?

来自分类Dev

用于设计和滚动条的 CSS 代码

来自分类Dev

仅HTML + CSS解决方案来检测滚动条

来自分类Dev

CSS / HTML垂直滚动条是否通过了窗口的边缘?

来自分类Dev

HTML / CSS:如何防止DIV滚动条离开屏幕?

来自分类Dev

如何在HTML CSS中将滚动条添加到父div?

来自分类Dev

CSS / HTML垂直滚动条是否通过了窗口的边缘?

来自分类Dev

如何在HTML CSS中强制或将垂直滚动条置于前面

来自分类Dev

禁用滚动但保留滚动条CSS

来自分类Dev

CSS-垂直滚动条删除