把我的<article>放在中间,左边和右边是<aside>

时间:2016-02-08 17:37:55

标签: html css html5

我想把我的文章框放在左右两边的中间位置。

      <center>
     <article>        
     </article>
     </center>

无效。

margin-left: auto;
margin-right: auto;
display: block;

无效。

虽然手动调整保证金工作或使用位置相对,但是 我想知道为什么<center>margin: auto;都不起作用。

我对WHY更感兴趣。

#wrapper{
    width: 900px;
	height: 800px;
	margin-left: auto;
	margin-right: auto;
    font-family: khand,sans-serif;
	font-weight: bold;	
}
#socialmedia1 {
    background-image: url(tw.png);  
    background-size: 20px 20px;
    width: 20px;
    height: 20px;
    float: right;
    margin:38px 10px 0px 0px;

}
#socialmedia2 {
    background-image: url(fb.png);  
    background-size: 20px 20px;
    width: 20px;
    height: 20px;
    float: right;
    margin: 38px 10px 0px 0px;
}
#socialmedia3 {
    background-image: url(insta.png);  
    background-size: 30px 30px;
    width: 30px;
    height: 30px;
    float: right;
    margin: 30px 10px 0px 0px;

}		
 header{
    width: 800px;
	height: 70px;
	border: 3px solid black;
	bottom: 20px;
	position: relative;    /* Had to move this to the bottom
                            to make space for icons*/
	bottom: -40px;
	margin-left: auto;
	margin-right: auto;
	 
 }
 hr{
    height: 0px;
    padding: 0px;
    margin: 2px;

 }
 .logo{
	background-image :url(logo.png);
	background-size: 140px 140px;
	width: 140px;
	height:140px;
	position: relative;
	bottom: 35px;
	left: 20px;
 }
ul{	
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #fff;
    width: 450px;
    margin-left: auto;
    margin-right: auto;
	position: relative;
	bottom: 20px;
}
li a {
	display: block;
	color: black;
	padding: 14px 16px;
    text-decoration: none;
}
li a:hover:not(.active) {
	background-color: #911111;
}
li {
    float: left;
}
article {
    width: 200px;
    height: 400px;
    border: 3px solid black;
    margin-left: auto;
    margin-right: auto;
    display: block;
}
aside{
	width: 120px;       /*logo overlaps gotta use position relative..EDIT Nevermind i could*
	just add margin to make space without fucking erthing up*/
	height: 150px;
	border: 3px solid black;	
    margin-top: 15px;
	margin-bottom: 5px;
}
aside.right{
    width: 120px;
    height: 150px;
    border: 3px solid black;
    float: right;
    clear:right;

}
.titlebannerbox{
	width: 120px;
	height: 25px;
	background-color: #911111;
	position: relative;
	bottom: 17px;
    color: white;

 }
.asidelogo{
   width: 27px;
   height: 27px;
   background-size: 27px 27px;
   background-image: url(titlebannerlogo.png);
   position: relative;
   bottom: 60px;
   margin-bottom: -65px;	
}
footer {
	width: 800px;
	height: 50px;
	border: 3px solid black;
	margin-left: auto;
	margin-right: auto;	
	margin-top: 40px;
}


 

 
 
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
<link href='https://fonts.googleapis.com/css?family=Khand:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet"href="style.css">
<style>
</style>
</head>
  <body> 
     <div id="wrapper">
       <header> 
           <a href="https://twitter.com" id="socialmedia1"></a>
           <a href="https://facebook.com" id="socialmedia2"></a>
           <a href="https://youtube.com" id="socialmedia3"></a>       
		       <div class="logo"></div>		  
       </header>
	       <nav>	
		       <ul>
		         <li><a href="home.html">Home</a></li>
			       <li><a href="home.html">Home</a></li>
			       <li><a href="home.html">Home</a></li>
			       <li><a href="home.html">Home</a></li>
			       <li><a href="home.html">Home</a></li>
			       <li><a href="home.html">Home</a></li>
		       </ul>	
		     </nav>

		   <aside class="right">
           <p class="titlebannerbox" align="right">Salary</p>
           <p class="asidelogo"></p>
           <hr>
           <table cellspacing="0" style="border-spacing:-5px;">
             <tr style="line-height: 15px;">
               <td style="width: 10%">Ruby</td>
               <td style="text-align: right">$109k</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Object C</td>
               <td style="text-align: right">$108k</td>
             </tr> 
             <tr style="line-height: 15px;">
               <td>Python</td>
               <td style="text-align: right">$100k</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Java</td>
               <td style="text-align: right">$94k</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>C++</td>
               <td style="text-align: right">$93k</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Javascript</td>
               <td style="text-align: right;">$91k</td>
             </tr>
               <tr style="line-height: 15px;">
               <td>C</td>
               <td style="text-align: right;">$90k</td>
             </tr>
           </table>          
       </aside>
       <aside>
		       <p class="titlebannerbox" align="right">Learned</p>
           <p class="asidelogo"></p>
           <hr>
           <table cellspacing="0" style="border-spacing:-5px;">
             <tr style="line-height: 15px;">
               <td style="width: 10%">HTML</td>
               <td style="text-align: right">60%</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>CSS</td>
               <td style="text-align: right">60%</td>
             </tr> 
             <tr style="line-height: 15px;">
               <td>Javascript</td>
               <td style="text-align: right">0.001%</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Java</td>
               <td style="text-align: right">0%</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>PhP</td>
               <td style="text-align: right">0%</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Ruby</td>
               <td style="text-align: right;">0%</td>
             </tr>
           </table>
          <center>
         <article>        
         </article>
         </center>
		   </aside>
       <aside class="right">
           <p class="titlebannerbox" align="right">Salary</p>
           <p class="asidelogo"></p>
           <hr>
           <table cellspacing="0" style="border-spacing:-5px;">
             <tr style="line-height: 15px;">
               <td style="width: 10%">Ruby</td>
               <td style="text-align: right">$109k</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Object C</td>
               <td style="text-align: right">$108k</td>
             </tr> 
             <tr style="line-height: 15px;">
               <td>Python</td>
               <td style="text-align: right">$100k</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Java</td>
               <td style="text-align: right">$94k</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>C++</td>
               <td style="text-align: right">$93k</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Javascript</td>
               <td style="text-align: right;">$91k</td>
             </tr>
               <tr style="line-height: 15px;">
               <td>C</td>
               <td style="text-align: right;">$90k</td>
             </tr>
           </table>          
       </aside>
       <aside style="color:black">		
         <p class="titlebannerbox" align="right">Popularity</p>   
         <p class="asidelogo"></p>
         <hr>
           <table cellspacing="0" style="border-spacing:-5;">
             <tr style="line-height: 15px;">
               <td style="width: 10%">Python</td>
               <td style="text-align: right">31.2%</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Java</td>
               <td style="text-align: right">19.6%</td>
             </tr> 
             <tr style="line-height: 15px;">
               <td>C++</td>
               <td style="text-align: right">9.8%</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>C#</td>
               <td style="text-align: right">7.4%</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Ruby</td>
               <td style="text-align: right">7.1%</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Javascript</td>
               <td style="text-align: right;">6.5%</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>C</td>
               <td style="text-align: right;">6.1%</td>
             </tr>
         </table>
       </aside>
       <aside class="right">
           <p class="titlebannerbox" align="right">Salary</p>
           <p class="asidelogo"></p>
           <hr>
           <table cellspacing="0" style="border-spacing:-5px;">
             <tr style="line-height: 15px;">
               <td style="width: 10%">Ruby</td>
               <td style="text-align: right">$109k</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Object C</td>
               <td style="text-align: right">$108k</td>
             </tr> 
             <tr style="line-height: 15px;">
               <td>Python</td>
               <td style="text-align: right">$100k</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Java</td>
               <td style="text-align: right">$94k</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>C++</td>
               <td style="text-align: right">$93k</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Javascript</td>
               <td style="text-align: right;">$91k</td>
             </tr>
               <tr style="line-height: 15px;">
               <td>C</td>
               <td style="text-align: right;">$90k</td>
             </tr>
           </table>          
       </aside>
       <aside>
         <p class="titlebannerbox" align="right">Difficulty</p>
         <p class="asidelogo"></p>
         <hr>
         <table cellspacing="0" style="border-spacing:0;">
             <tr style="line-height: 15px;">
               <td style="width: 30%;">C</td>
               <td style="text-align: right;vertical-align: sub;">*****</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>C+++</td>
               <td style="text-align: right;">*****</td>
             </tr> 
             <tr style="line-height: 15px;">
               <td>Java</td>
               <td style="text-align: right">****</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>C#</td>
               <td style="text-align: right;">***</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Javascript</td>
               <td style="text-align: right">**</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Python</td>
               <td style="text-align:right;">*</td>
             </tr>
             <tr style="line-height: 15px;">
               <td>Ruby</td>
               <td style="text-align: right;">*</td>
             </tr>
         </table>
       </aside>
       <footer>
           <center>
              <img src="logo.png" width="70px" height="70px" vertical-align="bottom"/>
           </center>
       </footer>
     </div> <!-- End of Wrapper-->
       
        


	 </body>
</html>

2 个答案:

答案 0 :(得分:1)

请参阅此fiddle

<article>没有居中的原因是<article>位于<aside>内,而<aside>的宽度远小于<article>的宽度<aside>。因为,它位于left内部,并没有相对于屏幕居中。

我所做的是,我为其中一个aside添加了新的article级,使其向左浮动。然后,将aside移到left之外。

aside.left{ width: 120px; height: 150px; border: 3px solid black; float: left; clear:left; } 的CSS如下

       <aside class="left">       <-----------see this (added new class ) 
           <p class="titlebannerbox" align="right">Learned</p>
       <p class="asidelogo"></p>
       <hr>
       <table cellspacing="0" style="border-spacing:-5px;">
         <tbody><tr style="line-height: 15px;">
           <td style="width: 10%">HTML</td>
           <td style="text-align: right">60%</td>
         </tr>
         <tr style="line-height: 15px;">
           <td>CSS</td>
           <td style="text-align: right">60%</td>
         </tr> 
         <tr style="line-height: 15px;">
           <td>Javascript</td>
           <td style="text-align: right">0.001%</td>
         </tr>
         <tr style="line-height: 15px;">
           <td>Java</td>
           <td style="text-align: right">0%</td>
         </tr>
         <tr style="line-height: 15px;">
           <td>PhP</td>
           <td style="text-align: right">0%</td>
         </tr>
         <tr style="line-height: 15px;">
           <td>Ruby</td>
           <td style="text-align: right;">0%</td>
         </tr>
       </tbody></table>

       </aside>
       <article>     <-----------see this (outside of aside )   
       </article>

,HTML就像

{{1}}

以下是进行这些更改后的屏幕截图。

enter image description here

答案 1 :(得分:-1)

你可以通过使用css属性的css来做到这一点:margin:0 auto;并设置宽度为artical。

我已经创建了一个片段供您理解

div{
  border: 1px solid #000;
  width: 100%;
  height: 100px;
  text-align: center;
}
article{
  border: 1px solid #000;
  width: 100px;
  margin: 0 auto;
}
<div>
  <article>
    This is an article
  </article>
</div>