2014-12-07 42 views
0

我期望我只是缺少一些基本的東西,但我似乎無法使用任何佈局(GridLayout或SequentialLayout)在垂直平面中正確定位自身)。Famo.us GridLayout不能正確地垂直佈置表面

如果我創建一個帶有1列和3行的GridLayout,然後添加3個曲面,我希望這3個曲面共享所有可用空間,將它垂直分成3個相等的部分並佔據整個可用寬度。然而,相反,所有三個曲面都佔據了可用空間頂部的第一個網格位置。但是,如果將其更改爲3列和1行,則網格會將可用水平空間正確劃分爲三個相等部分,並將三個曲面正確分配給單元格。但是,即使在這種情況下,表面的垂直尺寸也不適合(我希望它們佔據整個可用的垂直空間,但如果在CSS中我將它們設置爲「height:」,它們只佔用它們的空間量:汽車;」

我創建了一個GitHub的項目,很容易讓你嘗試一下,如果你想和我發表了它作爲meteor.com的應用程序,所以你可以在這裏的行動看出來:http://meteor-angular-famous-demo.meteor.com

作爲參考,下面是我使用的代碼:

HTML:

<head> 
    <title>Meteor-Angular-Famous GridLayout Test</title> 
</head> 

<body> 
    <fa-app ng-controller="mainController" id="app"> 
     <fa-grid-layout fa-options="myGridLayoutOptions"> 
      <fa-surface> 
       hello1 
      </fa-surface> 
      <fa-surface> 
       hello2 
      </fa-surface> 
      <fa-surface> 
       hello3 
      </fa-surface> 
     </fa-grid-layout> 
    </fa-app> 
</body> 

JS:

Meteor.startup(function() { 
    angular.module('taskMaster', ['angular-meteor', 'famous.angular']) 
     .controller('mainController', ['$scope', function($scope){ 
      $scope.myGridLayoutOptions = { 
       dimensions: [1,3] 
      }; 
     }]); 

    angular.bootstrap(document, ['taskMaster']); 
}); 

任何援助,將不勝感激!

回答

1

因此,經過大量的實驗後,我發現了我缺少的東西:fa-app元素的CSS樣式!當我添加以下CSS到應用程序(在一個叫根客戶端目錄「的main.css」的新文件),一切都開始按預期工作:

fa-app { 
    position: fixed; 
    top: 0; 
    right: 0; 
    bottom: 0; 
    left: 0; 
} 

不錯!我已經提前創建了一個流星軟件包,它使得在流星應用程序中使用着名的角度變得容易:'sgi:famous-angular'。這個軟件包包含了開源的着名角度的JS文件和附帶的CSS,並且指定了兩個依賴項:一個將Angular引入,另一個引入Famo.us。您仍然必須將上面的CSS包含在主應用程序的CSS中佈局才能正常工作。我已經更新了我的github示例,以便使用這個新軟件包給那些可能希望爲之一炮打響的人!

+1

酷!你能發送一個鏈接到該存儲庫的Github嗎?我們可能會將它包含在角流星圖中 – Urigo 2014-12-14 14:23:17