2017-02-10 36 views
-1

我正在尋找創建日曆的日視圖的網格,其中的項目是根據其開始和結束時間垂直定位和大小的。如果議程項目與其他任何項目不重疊,則其寬度將跨越列的整個寬度;然而,如果項目重疊,他們分開它們之間的寬度。下面的示例圖片:絕對定位項目的靈活寬度

Full-width items, no overlap

Overlapping items

顯然,這都可以使用JavaScript,一次與所有會議的全部知識來計算。然而,我想知道是否有一個優雅的CSS解決方案來處理這個問題,代碼只需要提供垂直位置和高度?

我問,因爲我希望組織我的React代碼,使每個網格框只需要知道它自己的議程項目的數據,保持良好的封裝;而不需要傳遞其他項目的一堆數據(預處理或不處理)。

+0

你能澄清這個問題並創建一個MCVE嗎? http://stackoverflow.com/help/mcve – ZimSystem

回答

0

這聽起來像是flexbox的完美用例。這也和React很好地搭配。

Bootstrap V4可與Flexbox一起使用。如果您使用PostCSS,另一個不錯的選擇是丟失網格。

+0

Flexbox不適用於絕對定位的元素;至少,不是我試圖讓它工作的方式。網格中的每個項目都動態地位於絕對垂直位置,所以我不確定丟失的網格是否會有幫助。 –

+0

爲什麼絕對? Flexbox並不意味着你需要絕對的,除非問題中沒有提到 – Chris