這顯然是與事實引導和劍道依賴於不同的盒子模型並在作出依靠box-sizing: border-box
混雜與那些依靠box-sizing: content-box
元素困難的事情。
一般而言,劍道的所有款式均基於標準content-box
型號。但是,Bootstrap的所有樣式都依賴於易於使用的border-box
模型。兩者之間最大的區別是如何處理填充,邊框等。在content-box
他們是一個元素的寬度的一部分,他們不是border-box
。
Bootstrap假設當然你想用border-box
,爲什麼你不會!它有助於設置頁面上的所有內容使用border-box
,包括Kendo小部件。對於它的一部分,Kendo知道Bootstrap可能會將所有設置都設置爲border-box
,因此它將所有內容都設置爲content-box
,用於Kendo小部件和所有子項。所以現在如果你嵌入任何與任何Kendo相關的Bootstrap,你會得到錯誤的盒子模型。一團糟。
我試過一堆不同的黑客試圖緩解這種情況,但事實是沒有好的方法來解決它。這是我發現的CSS代碼工作迄今最好的(它使用一個CSS屬性選擇,所以這是一個不走舊版本瀏覽器):
.border-box, .border-box * {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
[class^="k-"] {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
}
然後你可能會嵌套任何元素上設置class='border-box'
Kendo小部件的內部,你知道會有Bootstrap內容。