flex布局中单个子元素区别于其他子元素的主轴对其方式实现
在flex布局中,我们使用父级元素的 display 和 justify-content 来实现flex布局,并设定主轴对其方式,这两个属性详见 flex布局-阮一峰
这时设置了 justify-content 以后,所有的子元素都沿着主轴起始位置对齐,如果某一个子元素需要沿其他方向,比如主轴是横轴,方向是从左向右,这样设置以后,所有子元素都在左边向右边排列,如果我某一个子元素需要放在最右边,而不是和其他子元素一样顺着排列,应该如何实现?
对于交叉轴的方向,有 align-center 属性设置,而子元素的 align-self 属性可以覆盖这个属性,设置属于子元素自身的交叉在对齐方向。但主轴的对其方向则没有这个属性。
我可以通过设置需要区别于其他方向的子元素的前一个兄弟元素的margin来实现这个需求。
比如
flex与inline-flex的区别
display 属性规定元素应该生成的框的类型,用的最多的就是display:block;显示 display:none;隐藏。下面是所有值的用法描述。display本身意思是“显示、阵列”的意思
值 描述
none 此元素不会被显示。
block 此元素将显示为块级元素,此元素前后会带有换行符。
inline 默认。此元素会被显示为内联元素,元素前后没有换行符。
inline-block 行内块元素。(CSS2.1 新增的值)
list-item 此元素会作为列表显示。
run-in 此元素会根据上下文作为块级元素或内联元素显示。
compact CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
marker CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
table 此元素会作为块级表格来显示(类似
和 | ) table-caption 此元素会作为一个表格标题显示(类似 ) inherit 规定应该从父元素继承 display 属性的值。 inline-flex 和 inline-block 一样,对内部元素来说是个 display:flex 的容器,对外部元素来说是个 inline 的块。
也就是说
flex: 将对象作为弹性伸缩盒显示
inline-flex:将对象作为内联块级弹性伸缩盒显示 |
---|
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!