面试题:水平垂直居中的17种方式我想分析三种情况,水平居中,垂直居中,水平垂直居中。仅就水平和垂直居中而言,大概有以下解决方案:居中元素不定宽高absolute+transformflexattributecenteringflex+sub-itemmarginautogridattributecenteringgrid+subitemmarginautogrid+subitemattributecentering-webkit-boxattributecenteringtable-cell+text-alignline-height+text-alignwriting-modetableonlycenteringelementfixedwidthandheight适用:noticewidthandheight+absolute+negativemarginnoticewidth+absolute+calcNotesWidth+absolute+marginauto的更有限的全局居中NotesWidth+fixed+transformNotesWidth+fixed+negativemarginNotesWidth+fixed+calcNotesWidth+fixed+marginautohorizo??ntalcentertext-align:centertext-align:center;需要设置display:inline-block内联块元素的绝对定位+transform位移position:absolute;左:50%;转换:translateX(-50%);超出文档流宽度+边距:0自动宽度:100px;边距:0自动;这里width:100px必须是一个具体的数字,这个居中就是外层居中,width里面的内容是不居中的。垂直居中。绝对定位+变换位移position:absolute;top:50%;transform:translateY(-50%);同水平方向居中,脱离文档流table-cell+vertical-aligndisplay:table-cell;vertical-align:middle;display:table-cell,让它的标签元素以表格单元格的形式呈现,类似于td标签,vertical-align:middle,用于指定inline或table-cell元素垂直居中,水平垂直居中,绝对居中+变换位移
