2015-11-19 89 views
0

我想建立一個公司的內聯網頁面,「網格」風格的佈局。在過去,我使用過表格,但是我知道這些在使用佈局時非常成問題,因此我正在嘗試使用引導程序和Divs構建佈局 - 但是它證明是有問題的。佈局使用Bootstrap和Div

最後我嘗試在頁面的右上角實現的是:

enter image description here

但是什麼我實際上呈現如下: enter image description here

忽略事實上,天氣數據有點擴大了,我正在努力獲得理想的結果,並且我真的很想回到表格來讓這個東西排隊!

這裏是我使用的主模板頁面上的代碼:

<div class="row"> 
    <div class="col-sm-3">.col-sm-4</div> 
    <div class="col-sm-4">.col-sm-4</div> 
    <div class="col-sm-5"> 
     <img src="~/Content/Images/companylogo.png" style="float: right; padding-right: 15px; padding-bottom:25px;"/> 
     <div style="padding-top:25px; border-bottom: 1px solid black;"> 
      <div id="weatherDiv" style="float:left;"></div> 
      <div id="dateDiv" style="float:right; padding-right:10px; vertical-align: bottom;"></div> 
     </div> 
    </div> 
</div> 

然後在網頁加載時,兩個div(weatherDiv & dateDiv)被填充使用AJAX:

WeatherDiv :

<div id="weatherDiv" style="float:left;"> 

<link href="/Content/css/weather-icons.css" rel="stylesheet"> 
<link href="/Content/css/weather-icons-wind.css" rel="stylesheet"> 
<div> 
    <ul style="list-style: none; margin-left: 0px; padding-left:0px;"> 
      <li>Brisbane - Hot and sunny - 32c <i class="wi wi-day-sunny"></i></li> 
      <li>Melbourne - Early shower or two - 17c <i class="wi wi-showers"></i></li> 
    </ul> 
</div> 


</div> 

DateDiv:

<div id="dateDiv" style="float:right; padding-right:10px; vertical-align: bottom;"> 

<h4>Friday, 20 November 2015</h4> 
</div> 

我完全理解我對CSS的使用,Bootstrap & Divs幾乎是可笑的,但上面是幾個小時的嘗試和嘗試的結果!

任何幫助,非常感謝。

+0

你能不能把它簡單的實際問題是什麼?我正在看這兩個圖像,但我不完全確定哪裏出了問題。你想要垂直或水平排列行嗎?對問題的更多描述本身會有所幫助。 –

+0

你應該儘量避免CSS浮動,因爲它們並不完全與引導兼容(它應該處理元素在頁面上的位置) – user3073234

+0

是的 - 道歉不清晰 1)需要下劃線去2)需要將日期垂直對齊到底部,我認爲vertical-align:bottom;會做到這一點,但似乎仍有差距。 3)我是否使用了「最佳實踐」,因爲缺乏更好的術語?我覺得很多「填充左/右」不是最正確的/最好的方式來實現我所需要的 - 但我真的無法知道如何正確地做到這一點? –

回答

0

很難確切地確定您希望此佈局在移動設備上如何工作。但這裏有一個我創建的jsfiddle,可以提供幫助。 https://jsfiddle.net/2dqqajs1/

body { 
 
    min-width: 320px;  
 
} 
 

 
.text-right img{ 
 
    display: inline-block; 
 
} 
 

 
/*extra small screens only*/ 
 
@media (max-width: 767px) { 
 
    #weatherDiv{ 
 
    text-align: right; 
 
    } 
 
} 
 

 
hr { 
 
    margin: 0; 
 
    border-top: solid 2px #e0e0e0; 
 
}
<div class="container"> 
 
    <div class="row"> 
 
     <div class="col-xs-4"></div> 
 
     <div class="col-xs-8"> 
 
      <div class="row"> 
 
       <div class="col-xs-12 text-right"> 
 
        <img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=CompanyLogo&w=400&h=100" class="img-responsive" /> 
 
       </div> 
 
      </div> 
 
      <div class="row"> 
 
       <div id="dateDiv" class="col-xs-12 col-sm-5 col-sm-push-7 text-right"> 
 
        <h4>Friday</span>, 20 Nov<span class="hidden-xs hidden-sm">ember</span> 2015</h4> 
 
       </div>   
 
       <div id="weatherDiv" class="col-xs-12 col-sm-7 col-sm-pull-5"> 
 
        <ul style="list-style: none; margin-left: 0px; padding-left:0px;"> 
 
         <li>Bris<span class="hidden-sm">bane</span> <span class="hidden-xs">- Hot and sunny </span>- 32c <i class="fa fa-sun-o"></i></li> 
 
         <li>Melb<span class="hidden-sm">ourne</span> <span class="hidden-xs">- Early shower or two </span>- 17c <i class="fa fa-cloud"></i></li> 
 
        </ul>   
 
       </div> 
 
       <div class="col-xs-12"><hr/></div> 
 
      </div>  
 
     </div> 
 
    </div>      
 
</div>

+0

對不起,原來的答案有一個壞的小提琴鏈接,我更新了鏈接。 –

+0

非常感謝 - 我用我們的徽標代替了它,它似乎是左對齊天氣和徽標: [請參閱實際示例](http://www.advancenational.com.au/actual。PNG) 但是我需要的是標識和天氣將右對齊: [見預期示例](http://www.advancenational.com.au/expected.png) 歡呼 –

+0

更新小提琴和回答對齊標誌和天氣。但我真的只是在最小的屏幕尺寸上猜測你想要什麼。 Bootstrap是一個移動的第一個框架,如果你能展示一個你想要的移動的例子,那麼Small,然後是較大的屏幕會有幫助。 –