为什么下面的代码的p
宽度不同?
我尝试将它们包装在表格中,并按照css width property not applying properly添加width:100%
,但这无济于事。
body {
background-color: aliceblue;
}
p {
border-radius: 5px;
background-color: cadetblue;
font-size: 64px;
width: 90px;
text-align: -webkit-center;
color: white;
height: 90px;
display: table-cell;
vertical-align: middle;
font-family: helvetica;
}
<p>0</p>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
<p>10</p>
<p>11</p>
<p>12</p>
<p>13</p>
<p>14</p>
<p>15</p>
<p> </p>
答案 0 :(得分:2)
如果您想继续使用表格样式,可以通过将表格单元格包装在表格中,应用100%的宽度并将beforeCreate
设置为table-layout
来完成建议的操作。固定的表格布局将阻止表格单元格的默认自动宽度行为。
fixed
body {
background-color: aliceblue;
}
p {
border-radius: 5px;
background-color: cadetblue;
font-size: 20px;
width: 90px;
text-align:center;
color: white;
height: 90px;
display: table-cell;
vertical-align: middle;
font-family: helvetica;
}
.table {
display:table;
table-layout:fixed;
width:auto;
}
答案 1 :(得分:1)
表,内联表,表行组,表列,表列组,表标题组,表页脚组,表行,表单元格和表标题 这些值使元素的行为类似于表元素(要受表章节中所述的限制)。
基本上,您面临表的某些默认行为。
以下是说明类似情况的示例:
td {
width:100px; /* This is restricted by the width of table*/
border:1px solid;
}
<table>
<tr>
<td>2</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>2</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>2</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>2</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>2</td>
<td>1</td>
<td>1</td>
<td>2</td>
</tr>
</table>
<table>
<tr>
<td>2</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>2</td>
<td>1</td>
<td>1</td>
</tr>
</table>
代替表格只是依靠其他东西
body {
background-color: aliceblue;
}
.container {
font-size:0; /* remove white space */
white-space:nowrap; /* Keep one line */
}
p {
border-radius: 5px;
background-color: cadetblue;
font-size: 64px;
width: 90px;
text-align:center;
color: white;
height: 90px;
line-height:90px; /*vertical align */
display:inline-block;
font-family: helvetica;
}
<div class="container">
<p>0</p>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
<p>10</p>
<p>11</p>
<p>12</p>
<p>13</p>
<p>14</p>
<p>15</p>
<p> </p>
</div>