不,margin auto 不会改变段落元素的大小。它只是尝试在元素的自动调整大小的边上自动确定适当的边距大小。基本上,如果您希望段落小于包含它的 div,您可以将段落的静态宽度设置为特定宽度或父元素内部宽度的百分比。如果您不想对段落进行任何静态调整大小,另一种选择是在父元素上设置填充或在段落上设置静态边距。
div.paragraph-container {
padding: 20px; /* or padding: 20px 20px 20px 20px; sets all the padding individually (top, right, bottom, left) */
}
假设段落没有边距,这将使所有段落在 div 内居中并小 40px。
div.paragraph-container p {
margin: 10px 20px; /* sets the margin on the paragraph(s) to 10px on top and bottom and 20px on left and right which does the same as the first example assuming that the div does not have padding. */
}
如果您希望边框与文本的宽度完全相同,则:
div.paragraph-container p {
border-bottom: 1px dotted black;
padding: 0px 0px 5px 0px;
margin: 10px 20px;
}
div.paragraph-container {
padding: 0px;
}
假设文本填充段落元素,那么这将起作用。如果段落中有 2 个单词,那么它就不会和文本一样宽。实现这一点的唯一方法是使用像 span 这样的内联元素或设置为 的元素display: inline;
,但内联元素会并排混乱,除非你在它们之间放置一个块元素。