CSS 中的内联级元素和内联框
内联级元素的 CSS display 属性设置为“inline”、“inline-table”或“inline-block”,这些元素不会在其上下强制换行。每个内联级元素都会生成内联级框,它是定位方案的一部分,并且包含子框。
内联框是其内容遵循内联格式化上下文的框。内联框被分成多个内联框,而那些从未被分割的内联框称为原子内联级框。
匿名内联框是开发人员无法控制的那些框。如果一个块级框包含一些纯文本和其他内联级框,则内联级框周围的纯文本遵循内联格式化上下文,并包含在匿名内联框中。
内联级与块级
内联级元素不会在其上下强制换行,并且仅占用内容所需的宽度。例如 - 跨度(<span>)、强元素(<strong>)
块级元素在其上下强制换行,并占用可用宽度,即使其内容不需要也一样。例如:分区(<div>)、标题(<h1> 到 <h6>)等。
让我们来看一个内联级框生成的示例 -
示例
在这个示例中,我们将围绕内联级元素 <em> 进行操作 -
<!DOCTYPE html> <html> <head> <title>em element</title> <style> form { width:70%; margin: 0 auto; text-align: center; } * { padding: 2px; margin:5px; } input[type="button"] { border-radius: 10px; } em{ background-color: #FF8A00; } </style> </head> <body> <form> <fieldset> <legend>em-element</legend> <label for="textSelect">Formatter: </label> <input id="textSelect" type="text" placeholder="John Doe"> <input type="button" onclick="convertItalic()" value="Check"> <div id="divDisplay"></div> </fieldset> </form> <script> var divDisplay = document.getElementById("divDisplay"); var textSelect = document.getElementById("textSelect"); function convertItalic() { for(i=0; i<2; i++){ var italicObject = document.createElement("EM"); var italicText = document.createTextNode(textSelect.value); italicObject.appendChild(italicText); divDisplay.appendChild(italicObject); } } </script> </body> </html>
示例
在这个示例中,我们将围绕内联级元素 <span> 进行操作 -
<!DOCTYPE html> <html> <head> <title>CSS Inline-level Elements and Inline Boxes</title> <style> form { width:70%; margin: 0 auto; text-align: center; } * { padding: 2px; } input[type="button"] { border-radius: 10px; } .child{ color: white; border: 4px solid black; } .child:nth-of-type(1){ background-color: #FF8A00; } .child:nth-of-type(2){ background-color: #F44336; } .child:nth-of-type(3){ background-color: #C303C3; } </style> </head> <body> <form> <fieldset> <legend>CSS Inline-level Elements and Inline Boxes</legend> <div><span class="child">Orange</span> Color<span class="child">Red</span> Color<span class="child">Violet</span> Color</div><br> </fieldset> </form> </body> </html>
广告