如何使用 CSS Flex 将列 DIV 对齐为左中右?
为了通过在弹性容器的主轴上分配空间来对齐弹性容器的项目,我们使用 CSS 的justify-content属性。以下是其值:
flex-start - 弹性项目位于容器的起始位置。这是默认值。
flex-end - 弹性项目位于容器的结束位置
center - 弹性项目位于容器的中心
space-between - 弹性项目之间会有间距
space-around - 弹性项目之间以及前后都会有间距
space-evenly - 弹性项目周围会有相等的间距
语法
CSS justify-content 属性的语法如下:
Selector { display: flex; justify-content: /*value*/ }
弹性项目之间会有间距
CSS 的justify-content属性与space-between属性一起使用,可以让弹性项目之间有间距。让我们看一个弹性项目之间有间距的示例。
示例
<!DOCTYPE html> <html> <head> <style> #root { margin: 5%; display: flex; justify-content: space-between; } #one { float:left; box-shadow: inset 0 0 34px #b798e1; } #two { box-shadow: inset 0 0 34px #236fa0; } #three { box-shadow: inset 0 0 34px #43946a; } .element { padding: 7%; border-radius: 15%; } </style> </head> <body> <div id="root"> <div class="element" id="one">1</div> <div class="element" id="two">2</div> <div class="element" id="three">3</div> </div> </body> </html>
弹性项目之间会有相等的间距
CSS 的justify-content属性与space-evenly属性一起使用,可以让弹性项目之间有相等的间距。让我们看一个示例:
示例
<!DOCTYPE html> <html> <head> <style> #root { margin: 5%; padding: 2%; display: flex; justify-content: space-evenly; box-shadow: inset 0 10px 40px magenta; font-weight: bold; } div > div { padding: 2%; border-radius: 15%; } div:nth-of-type(even) { box-shadow: inset 2px 2px 20px orange; } div > div:nth-of-type(odd) { box-shadow: inset 2px 2px 20px lightblue; } </style> </head> <body> <div id="root"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> </div> </body> </html>
弹性项目位于容器的中心
jusitify-content设置为center以将弹性项目对齐到容器的中心。在这个示例中,我们使用了 CSS 的justify-content属性与space-evenly属性,以使其中一个弹性项目之间有相等的间距。
示例
让我们看一个将弹性项目定位到容器中心的示例:
<!DOCTYPE html> <html> <head> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .container { display: flex; flex-wrap: wrap; justify-content: space-evenly; background-color: lightblue; } .container1 { align-self: flex-start; display: flex; background-color: rgb(71, 30, 255); width: 200px; margin: 20px; } .container1 > div { background-color: #f1f1f1; margin: 10px; padding: 10px; font-size: 30px; } .container2 { display: flex; background-color: rgb(14, 126, 79); width: 200px; justify-content: center; align-self: flex-start; margin: 20px; } .container2 > div { background-color: #f1f1f1; margin: 10px; padding: 10px; font-size: 30px; } .container3 { display: flex; flex-direction: column; background-color: rgb(168, 60, 10); width: 200px; align-items: center; margin: 20px; } .container3 > div { background-color: #f1f1f1; margin: 10px; padding: 10px; width: 20px; font-size: 30px; } </style> </head> <body> <h1>Flex layout example</h1> <div class="container"> <div class="container1"> <div>1</div> <div>2</div> <div>3</div> </div> <div class="container2"> <div>1</div> <div>2</div> <div>3</div> </div> <div class="container3"> <div>1</div> <div>2</div> <div>3</div> </div> <div class="container1"> <div>1</div> <div>2</div> <div>3</div> </div> </div> </body> </html>
广告