自适应内部元素
如果不给元素指定一个具体的 height ,它就会自动适应其内容的高度。假如我们希望 width 也具有类似的行为,该怎么做呢?
<div>
<p>Some text [...]</p>
<figure>
<img src="boy.png" />
<figcaption>
The great Sir Adam Catlace was named after
Countess Ada Lovelace, the first programmer.
</figcaption>
</figure>
<p>More text [...].</p>
</div>
修改前的效果:
figure {
width: min-content;
margin: auto;
}
修改后的效果:
居中
不定宽元素水平居中:
- 利用行内元素特性居中
- 用table布局居中,table的特点:根据内容撑开宽度,然后利用margin:0 auto
- 利用translateX的参照物是自己来定位
- 利用flex特性的两种实现方式
不定高元素垂直居中:
- 用table-cell特性
- 用translateY特性
- 利用flex特性
不定宽、不定高的元素怎么垂直水平居中
- 利用inline-block
- 利用position
后者
- 利用flex
布局
定宽+自适应
- 利用float + margin
- 利用float + overflow(BFC)特性
- 利用table表现的像block,但是有区别,随内容的多少宽度为多少;table-cell,table-cell表现的像inline-block但是有区别;
- flex布局
不定宽+自适应
等宽布局
1、列数是知道的 flex
2、列数不知道table、 table-cell
等高的解决方案
- 用table、table-cell 一个列表中的单元格天然是等高的
- 用flex