吃雞游戲
2023-11-12 22:30:18
我正在嘗試使用 flexbox 將容器內(nèi)顯示的所有字母均勻地間隔開來?,F(xiàn)在,如果我輸入像“我喜歡學(xué)習(xí)代碼”這樣的句子,所有元素都顯示在容器中并且工作正常,但是如果我使用像“冰箱”這樣的長詞,字母就會(huì)從容器中出來。但是我試圖將所有字母都保留在容器中,無論單詞有多長。我嘗試了所有可用的 flexbox 技術(shù),但沒有運(yùn)氣。也嘗試了容器上的max-width。我錯(cuò)過了什么?下面是代碼沙盒中的代碼: https://codesandbox.io/s/modern-sun-3u7b3?file=/src/App.jsimport React from "react";import "./styles.css";function App() { // let sentence = "I like learning code"; let sentence = "refrigerator"; const words = sentence.split(" "); return ( <div className="pageContainer"> {words.map((word, i) => ( <div className="row" key={i}> {[...word].map((letter) => ( <p className="letterBorder">{letter}</p> ))} {i === words.length - 1 ? null : <p className="whiteSpaceBorder"></p>} </div> ))} </div> );}export default App;.letterBorder { border: 25px; background: grey; padding: 20px; width: 50px; height: 30px; flex-grow: 1; margin-right: 4px; margin-left: 4px;}.row { display: flex; justify-content: space-evenly; min-width: 100%; align-content: flex-start;}.whiteSpaceBorder { border: 25px; background: orange; padding: 20px; width: 50px; height: 30px; flex-grow: 1; margin-right: 4px; margin-left: 4px;}.pageContainer { border-radius: 1rem; text-align: center; background: lightcyan; height: 40rem; width: 30rem; margin: auto;}
2 回答

陪伴而非守候
TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊
您的錯(cuò)誤是由于 letterBorder 類的硬編碼水平填充造成的。
取代
padding: 20px;
跟
padding: 20px 0;
https://codesandbox.io/s/gracious-violet-qg1xt?file=/src/App.js

智慧大石
TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
這就是 css 屬性派上用場的地方。默認(rèn)情況下,F(xiàn)lexbox 項(xiàng)目都嘗試放在一行中。但是,您可以使用 使它們換行。flex-wrapflex-wrap: wrap
將其添加到行類中:
.row {
? display: flex;
? flex-wrap: wrap; /* Allow items in row to "wrap" to next line if needed */
? justify-content: space-evenly;
? min-width: 100%;
? align-content: flex-start;
}
添加回答
舉報(bào)
0/150
提交
取消