2017-05-11 65 views
2

我無法弄清楚如何將這個標題標題放在頂部。我想要它填充頂部區域以及左邊&的權利。任何人都可以使用CSS超級技能嗎?如何製作標題標題棒?

請注意,我仍想保留表值在中間,我想保持桌面填充。

#search input{ 
 
    width: 100%; 
 
} 
 

 
#activities { 
 
    top: 0; 
 
    float: right; 
 
    border: 0 none; 
 
    border-radius: 3px; 
 
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.3); 
 
    padding: 20px; 
 
    margin: 2%; 
 
    position: relative; 
 
} 
 
table { 
 
    border-collapse: collapse; 
 
    width: 100%; 
 
}
<div id="activities"> 
 
        <h2 style="background:#0094ff;color:white;width: 100%;padding: 4px;position: relative;">Div Title</h2> 
 
        <form id="search"> 
 
         <input name="query" placeholder="Search..."> 
 
        </form> 
 
        <table> 
 
        <tbody> 
 
        <tr> 
 
         <td> 
 
          Fotboll 4v4 
 
         </td><td> 
 
          0.3 km 
 
         </td> 
 
        </tr><tr> 
 
         <td> 
 
          Brännboll 
 
         </td><td> 
 
          1.2 km 
 
         </td> 
 
        </tr><tr> 
 
         <td> 
 
          Badminton 2v2 
 
         </td><td> 
 
          1.5 km 
 
         </td> 
 
        </tr><tr> 
 
         <td> 
 
          Gruppmöte 
 
         </td><td> 
 
          2.2 km 
 
         </td> 
 
        </tr> 
 
        </tbody> 
 
       </table> 
 
       </div>

或者演示在這裏:https://jsfiddle.net/a2uqh6eu/

+0

這纔是最好的了嗎?你想要更多嗎? –

+0

@DanielH我想它應該填充頂部(向左和向右) – Jesper

+0

好的檢查我的更新答案。 @Jesper –

回答

2

Div Title沒有考慮將其設置爲100%,爲什麼整個寬度的事件嗎?因爲你的容器中使用的填充,填充是你的內容邊界的空間,看看這個鏈接可以幫助:https://www.w3schools.com/css/css_boxmodel.asp

所以我刪除您padding: 20px從容器中,並且加入了類.content來包裝你的內容和添加填充物有:

.content { 
    padding: 0 20px 20px; 20px 
} 

現在爲您DIV所有權類margin-top: 0;會讓它留頂部和width: 100%;現在將共同努力,以容器的整個寬度。還使用text-align: center;來居中文本。

.div-title { 
    background: #0094ff; 
    color: white; 
    width: 100%; 
    position: relative; 
    text-align: center; 
    margin-top: 0; 
} 

#search input { 
 
    width: 100%; 
 
} 
 

 
#activities { 
 
    top: 0; 
 
    float: right; 
 
    border: 0 none; 
 
    border-radius: 3px; 
 
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.3); 
 
    position: relative; 
 
} 
 

 
table { 
 
    border-collapse: collapse; 
 
    width: 100%; 
 
} 
 

 
.div-title { 
 
    background: #0094ff; 
 
    color: white; 
 
    width: 100%; 
 
    position: relative; 
 
    text-align: center; 
 
    margin-top: 0; 
 
} 
 

 
.content { 
 
    padding: 0 20px 20px; 20px 
 
}
<div id="activities"> 
 
    <h2 class="div-title">Div Title</h2> 
 
    <div class="content"> 
 
    <form id="search"> 
 
    <input name="query" placeholder="Search..."> 
 
    </form> 
 
    <table> 
 
    <tbody> 
 
     <tr> 
 
     <td> 
 
      Fotboll 4v4 
 
     </td> 
 
     <td> 
 
      0.3 km 
 
     </td> 
 
     </tr> 
 
     <tr> 
 
     <td> 
 
      Brännboll 
 
     </td> 
 
     <td> 
 
      1.2 km 
 
     </td> 
 
     </tr> 
 
     <tr> 
 
     <td> 
 
      Badminton 2v2 
 
     </td> 
 
     <td> 
 
      1.5 km 
 
     </td> 
 
     </tr> 
 
     <tr> 
 
     <td> 
 
      Gruppmöte 
 
     </td> 
 
     <td> 
 
      2.2 km 
 
     </td> 
 
     </tr> 
 
    </tbody> 
 
    </table> 
 
    </div> 
 
</div>

0

使用位置是:固定;您#activities div的

爲了保持桌面的「中間」爲你穿上它,你可能會需要把它拿出來#activities股利。

0
#activities { 
    padding-top: 0; 
} 

#activities h2 { 
    margin-top: 0; 
} 
+0

嗯,是的,它修復了頂部距離,但它不會從左到右填充標題標題.. – Jesper

+0

@Jesper這可能需要負邊距的' h2'。例如'#activities h2 {margin:0 -20px auto; },或者將剩餘的內容封裝在帶有空白的div中,並丟失周圍div的填充 – Dotan

0

嗯......如果我理解正確的話,你希望你的DIV留在總是頁面頂部?

嘗試改變position: relative;position: fixed;。 這可能會完成你所需要的。

0

我想你想移除margin和padding到body元素將其添加到css文件

body { padding:0;margin:0;} 

或只加絕對位置activitiesright:0

#activities { position:absolute;right:0;}