2 回答
TA贡献1880条经验 获得超4个赞
inline-block
收缩到合适的宽度是: min(max(preferred minimum width, available width), preferred width)
.
什么时候 preferred minimum width <= preferred width <= available width
,宽度将是 preferred width
如你所愿。 什么时候 available width <= preferred minimum width <= preferred width
,宽度将是 preferred minimum width
如你所愿。 什么时候 preferred minimum width <= available width <= preferred width
,宽度将是 available width
即使你不喜欢。
resize
TA贡献1860条经验 获得超8个赞
inline-block
CSS网格可以实现这种布局。
body {
margin: 0;
}
ul {
display: inline-grid;
grid-template-columns: repeat(auto-fit, 100px);
min-width: 50vw;
/* decorative properties */
grid-gap: 10px;
padding: 0;
list-style: none;
border: 5px solid salmon;
box-sizing: border-box;
/* center the grid */
position: relative;
left: 50vw;
transform: translateX(-50%);
}
li {
background-color: lightblue;
height: 100px;
}
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
<li>11</li>
<li>12</li>
<li>13</li>
<li>14</li>
<li>15</li>
<li>16</li>
<li>17</li>
<li>18</li>
<li>19</li>
<li>20</li>
<li>21</li>
<li>22</li>
</ul>
Codepen演示 (一定要调整尺寸)
ul { display: inline-grid; /* (1) */ grid-template-columns: repeat(auto-fit, 100px); /* 100px = column width - (2) */ min-width: 50vw; /* or any user-defined min-width (3) */ }
auto-fill
/ auto-fit
- 2 回答
- 0 关注
- 704 浏览
相关问题推荐
添加回答
举报