justify-content - 在主轴方向上的对齐方式 - css 弹性盒子布局
justify-content
版本:CSS3
CSS justify-content属性定义了浏览器之间,如何分配顺着弹性容器主轴(或者网格行轴)的元素之间及其周围的空间。
当 length 属性和自动外边距属性(margin: 0 auto
)生效之后,对齐已经完成了。也就是说,如果存在至少一个弹性元素,而且这个元素的 flex-grow 属性不等于 0,那么对齐方式不会生效,就像没有多余空间的情况。当同时给 flex 元素设置了以下两个属性时,主轴方向上的长度
width
(或 height)、margin: 0 auto
,justify-content
属性设置的对齐方式不起作用。示例
/* positional alignment */ justify-content: center; /* 居中排列 */ justify-content: start; /* pack items from the start */ justify-content: end; /* pack items from the end */ justify-content: flex-start; /* 从行首起始位置开始排列 */ justify-content: flex-end; /* 从行尾位置开始排列 */ justify-content: left; /* pack items from the left */ justify-content: right; /* pack items from the right */ /* baseline alignment */ justify-content: baseline; justify-content: first baseline; justify-content: last baseline; /* distributed alignment */ justify-content: space-between; /* 均匀排列每个元素。首个元素放置于起点,末尾元素放置于终点 */ justify-content: space-around; /* 均匀排列每个元素。每个元素周围分配相同的空间 */ justify-content: space-evenly; /* 均匀排列每个元素。每个元素之间的间隔相等 */ justify-content: stretch; /* 均匀排列每个元素。'auto'-sized 的元素会被拉伸以适应容器的大小 */ /* overflow alignment */ justify-content: safe center; justify-content: unsafe center; /* global values */ justify-content: inherit; justify-content: initial; justify-content: unset;
浏览器支持
IE11以上版本的浏览器都支持justify-content |
语法
justify-content:normal| | ?[| left | right ]- = space-between | space-around | space-evenly | stretch
- = unsafe | safe
- = center | start | end | flex-start | flex-end
取值
- flex-start:默认值。从行首开始排列。每行第一个弹性元素与行首对齐,同时所有后续的弹性元素与前一个对齐。
- flex-end:从行尾开始排列。每行最后一个弹性元素与行尾对齐,其他元素将与后一个对齐。
- start:从行首开始排列。每行第一个元素与行首对齐,同时所有后续的元素与前一个对齐。
- center:伸缩元素向每行中点排列。每行第一个元素到行首的距离将与每行最后一个元素到行尾的距离相同。
- left:伸缩元素一个挨一个在对齐容器得左边缘,如果属性的轴与内联轴不平行,则
left
的行为类似于start
- right:元素以容器右边缘为基准,一个挨着一个对齐,如果属性轴与内联轴不平行,则
right
的行为类似于start
- baseline、first baseline、last baseline:Specifies participation in first- or last-baseline alignment: aligns the alignment baseline of the box’s first or last baseline set with the corresponding baseline in the shared first or last baseline set of all the boxes in its baseline-sharing group。The fallback alignment for
first baseline
isstart
, the one forlast baseline
isend
. - space-between:在每行上均匀分配弹性元素。相邻元素间距离相同。每行第一个元素与行首对齐,每行最后一个元素与行尾对齐。
- space-around:在每行上均匀分配弹性元素。相邻元素间距离相同。每行第一个元素到行首的距离和每行最后一个元素到行尾的距离将会是相邻元素之间距离的一半。
- space-evenly:flex项都沿着主轴均匀分布在指定的对齐容器中。相邻flex项之间的间距,主轴起始位置到第一个flex项的间距,,主轴结束位置到最后一个flex项的间距,都完全一样。
- stretch:If the combined size of the items is less than the size of the alignment container, any
auto
-sized items have their size increased equally(not proportionally), while still respecting the constraints imposed bymax-height
/max-width
(or equivalent functionality), so that the combined size exactly fills the alignment container along the main axis. - safe:If the size of the item overflows the alignment container, the item is instead aligned as if the alignment mode were
start
. - unsafe:Regardless of the relative sizes of the item and alignment container, the given alignment value is honored.
初始值 | normal |
适用于 | 多行的弹性盒模型容器 |
继承性 | 无 |
动画性 | visual |
计算值 | 指定值 |
例子
//CSS #container { padding:20px; background:#ccc; display: flex; justify-content: space-between; /* can be changed in the live sample */ } #container > div { width: 100px; height: 100px; background: linear-gradient(-45deg, #788cff, #b4c8ff); } //HTMLstart end flex-start flex-end center left right baseline first baseline last baseline space-between space-around space-evenly stretch //jQuery $(document).on("change","#justifycontent",function(e){ let value=$(this).val(); $("#container").css("justify-content",value); });
#container{display: flex; padding:20px; background:#ccc; justify-content: space-between;}#container div{width: 100px; height: 100px; background: linear-gradient(-45deg,#788cff,#b4c8ff);}$(document).on("change","#justifycontent",function(e){let value=$(this).val();$("#container").css("justify-content",value);});startendflex-startflex-endcenterleftrightbaselinefirst baselinelast baselinespace-betweenspace-aroundspace-evenlystretch
1
2
3
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)