2017-05-30 135 views
1

我决定今天开始一个新的个人项目,这是一个论坛类型的东西(仅供练习)。 我设置了基本布局并编写了一些PHP函数,但是当我添加一个新帖子时,侧边栏向下移动并位于帖子下方。侧边栏移动到底部

这里的一些图片:

sidebar with only one post :)

sidebar with more than one post :(

的sidebar.php

<div class ="sidebar"> 

<div class = "col-lg-3 profile-tab sidebar-nav"> 

    <img src="images/dummy-pic.png" alt = ""><br> 
     <a href = "#">USERNAME</a><br> 
     <span>Post count: x</span><br> 
     <span>Likes: x</span> 


</div> 

<div class="col-lg-3"> 
    <ul class="sidebar-nav"> 
     <h4 class = "sb-heading">Post Categories</h4> 
      <li><a href="#">Category Name</a> 
      </li> 
      <li><a href="#">Category Name</a> 
      </li> 
      <li><a href="#">Category Name</a> 
      </li> 
      <li><a href="#">Category Name</a> 
      </li> 
      </ul> 
</div> 

<div class = "col-lg-3"> 
    <ul class="sidebar-nav"> 
     <h4 class = "sb-heading">Announcements</h4> 

      <li>interesting stuff</li> 
      <li>interesting stuff</li> 
      <li>interesting stuff</li> 
    </ul> 
</div> 

Posts.php

<div class = "post col-lg-8"> 

<h2 class = "page-header"><?php echo $post_title; ?></h2> 
<p class = "lead">By 
<a href = "#"><?php echo $post_author ?></a></p> 
<span class = "glyphicon glyphicon-time"><?php echo $post_date ?></span> 

<img class = "img-responsive" src = "<?php echo $post_image; ?>" /> 
<br> 
<p>  
<?php 
echo $post_content; 
?> 

</p> 

<br/> 
<a class = "btn btn-primary" href = "#">READ MORE</a> 

</div> 

<?php } ?> 

有关CSS

.sidebar-nav{ 
background-color: #ffffff; 
margin-top: 15px; 
border:2px solid #1b76bc; 
border-radius: 10px; 
padding: 20px 0 20px 0; 
text-align: center; 


} 

div.post.col-lg-8{ 

margin-left: 20px; 
} 

.sidebar-nav li{ 

    list-style: none; 
} 

.post{ 

padding:15px; 
margin-top: 15px; 
background-color: #ffffff; 
border-radius: 10px; 
border: 2px solid #1b76bc; 
padding: 20px; 

} 

我用COL-LG-3而不是4的侧边栏,这样我可以添加一个左边距的帖子。有可能是更好的方法,但只是一个抬头

如果你需要的css文件让我知道。

我真的很感激它!

+0

CSS将是有益的。你有围绕Sidebar.php的包装吗? – Gerard

+0

添加了CSS。我有一个名为'侧边栏'的包装,它没有显示在帖子中,但我修复了它:) – Sam

+0

我认为你应该可以添加:.sidebar {float:right;} – Gerard

回答

0

请在下面找到工作的例子。小提琴here

.sidebar { 
 
    float: right; 
 
    width: 25%; 
 
    max-width: 25%; 
 
} 
 

 
div.post.col-lg-8 { 
 
    float: left; 
 
    width: 70%; 
 
    max-width: 70%; 
 
} 
 

 
.sidebar-nav { 
 
    background-color: #ffffff; 
 
    margin-top: 15px; 
 
    border: 2px solid #1b76bc; 
 
    border-radius: 10px; 
 
    padding: 20px 0 20px 0; 
 
    text-align: center; 
 
} 
 

 
div.post.col-lg-8 { 
 
    margin-left: 20px; 
 
} 
 

 
.sidebar-nav li { 
 
    list-style: none; 
 
} 
 

 
.post { 
 
    padding: 15px; 
 
    margin-top: 15px; 
 
    background-color: #ffffff; 
 
    border-radius: 10px; 
 
    border: 2px solid #1b76bc; 
 
    padding: 20px; 
 
}
<div class="sidebar"> 
 

 
    <div class="col-lg-3 profile-tab sidebar-nav"> 
 

 
    <img src="images/dummy-pic.png" alt=""> 
 
    <br> 
 
    <a href="#">USERNAME</a> 
 
    <br> 
 
    <span>Post count: x</span> 
 
    <br> 
 
    <span>Likes: x</span> 
 

 

 
    </div> 
 

 
    <div class="col-lg-3"> 
 
    <ul class="sidebar-nav"> 
 
     <h4 class="sb-heading">Post Categories</h4> 
 
     <li><a href="#">Category Name</a> 
 
     </li> 
 
     <li><a href="#">Category Name</a> 
 
     </li> 
 
     <li><a href="#">Category Name</a> 
 
     </li> 
 
     <li><a href="#">Category Name</a> 
 
     </li> 
 
    </ul> 
 
    </div> 
 

 
    <div class="col-lg-3"> 
 
    <ul class="sidebar-nav"> 
 
     <h4 class="sb-heading">Announcements</h4> 
 

 
     <li>interesting stuff</li> 
 
     <li>interesting stuff</li> 
 
     <li>interesting stuff</li> 
 
    </ul> 
 
    </div> 
 
</div> 
 
<div class="post col-lg-8"> 
 

 
    <h2 class="page-header">Post title</h2> 
 
    <p class="lead">By 
 
    <a href="#"> 
 
     Post author 
 
    </a> 
 
    </p> 
 
    <span class="glyphicon glyphicon-time">May 30, 2017</span> 
 

 
    <img class="img-responsive" src="http://placehold.it/100" /> 
 
    <br> 
 
    <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> 
 

 
    <br/> 
 
    <a class="btn btn-primary" href="#">READ MORE</a> 
 

 
</div> 
 
<div class="post col-lg-8"> 
 

 
    <h2 class="page-header">Post title</h2> 
 
    <p class="lead">By 
 
    <a href="#"> 
 
     Post author 
 
    </a> 
 
    </p> 
 
    <span class="glyphicon glyphicon-time">May 30, 2017</span> 
 

 
    <img class="img-responsive" src="http://placehold.it/100" /> 
 
    <br> 
 
    <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> 
 

 
    <br/> 
 
    <a class="btn btn-primary" href="#">READ MORE</a> 
 

 
</div>

+0

谢谢!我又看了一眼,发现在'col-lg-3'的bootstrap框架内有一些媒体查询,这使得它们变得非常小。我只是将每个侧栏块的宽度更改为'width:auto!important;'并且它工作正常!我很感谢你的时间 – Sam

+0

对不起,你解决了原来的问题!我的想法是想知道...我偶然发现了另一个问题(上面的那个),并忘记了我的老问题:-)) – Sam

+0

很高兴它的固定:) – Gerard

1

您必须在Posts.php中关闭div。

编辑:您可以尝试类似下面:

的sidebar.php

<div class ="col-lg-3 col-md-3 col-sm-3 sidebar"> 

<div class = "profile-tab sidebar-nav"> 

    <img src="images/dummy-pic.png" alt = ""><br> 
     <a href = "#">USERNAME</a><br> 
     <span>Post count: x</span><br> 
     <span>Likes: x</span> 


</div> 

<div> 
    <ul class="sidebar-nav"> 
     <h4 class = "sb-heading">Post Categories</h4> 
      <li><a href="#">Category Name</a> 
      </li> 
      <li><a href="#">Category Name</a> 
      </li> 
      <li><a href="#">Category Name</a> 
      </li> 
      <li><a href="#">Category Name</a> 
      </li> 
      </ul> 
</div> 

<div> 
    <ul class="sidebar-nav"> 
     <h4 class = "sb-heading">Announcements</h4> 

      <li>interesting stuff</li> 
      <li>interesting stuff</li> 
      <li>interesting stuff</li> 
    </ul> 
</div> 
</div> 

Posts.php

<div class = "col-lg-8 col-md-8 col-sm-8"> //New line 
// php foreach etc. 
<div class = "post"> 

<h2 class = "page-header"><?php echo $post_title; ?></h2> 
<p class = "lead">By 
<a href = "#"><?php echo $post_author ?></a></p> 
<span class = "glyphicon glyphicon-time"><?php echo $post_date ?></span> 

<img class = "img-responsive" src = "<?php echo $post_image; ?>" /> 
<br> 
<p>  
<?php 
echo $post_content; 
?> 

</p> 

<br/> 
<a class = "btn btn-primary" href = "#">READ MORE</a> 

</div> 

<?php } ?> 
+0

对不起,我没有缩进最后几行。该div已关闭。我更新了代码 – Sam

+0

,您必须将其作为评论发布:-) – hassan

+0

您可以试试这个吗? –