空白符: 空格、制表符、换行符
注意:浏览器在解析HTML时会把所有空白符合并成一个空格
不好的结构造成意外的结果:
标签换行了:
<span style="color: #008080">1</span> <span style="color: #008000"><!--</span><span style="color: #008000">文本域结束标签 换行导致placeholder无法正确表示</span><span style="color: #008000">--></span><span style="color: #008080">2</span> <span style="color: #0000ff"><</span><span style="color: #800000">textarea </span><span style="color: #ff0000">id</span><span style="color: #0000ff">="description"</span><span style="color: #ff0000"> name</span><span style="color: #0000ff">="description"</span><span style="color: #ff0000"> rows</span><span style="color: #0000ff">="5"</span><span style="color: #ff0000"> cols</span><span style="color: #0000ff">="30"</span><span style="color: #ff0000"> wrap</span><span style="color: #0000ff">="physical"</span><span style="color: #ff0000"> placeholder</span><span style="color: #0000ff">="这是一个多行输入框,输入您的个人描述"</span><span style="color: #0000ff">><br></</span><span style="color: #800000">textarea</span><span style="color: #0000ff">></span>
标签之间有空格:
1 <!--文本域标签之间有空格,导致placeholder无法正确表示-->2 <textarea id="description" name="description" rows="5" cols="30" wrap="physical" placeholder="这是一个多行输入框,输入您的个人描述"> </textarea>
结果:一片空白
原因:因为表单区域中包含了空白符(空格、制表符、换行符),textarea内的空白符被认为是内容,阻止了占位符文本的显示。
正确的操作:
1 <!--文本域开始标签与结束标签紧挨着,placeholder正确表示-->2 <textarea id="description" name="description" rows="5" cols="30" wrap="physical" placeholder="这是一个多行输入框,输入您的个人描述"></textarea>
结果:占位了!!!
默认情况下,inline-block元素之间大约有“4px”的间距(不同浏览器会有不同的大小)。
1 <ul>2 <li>item1</li>3 <li>item2</li>4 <li>item3</li>5 <li>item4</li>6 <li>item5</li>7 </ul>
1 *{ 2 margin: 0; 3 padding: 0; 4 } 5 ul { 6 list-style: none outside none; 7 padding: 10px; 8 background: green; 9 text-align: center;10 }11 ul li {12 display: inline-block;13 *display: inline;14 zoom: 1;15 background: orange;16 padding: 5px;17 }
原因:标签之间的空白符造成的。
解决:此时可以通过改变HTML的结构,让上一个li的结束标签与下一个li开始相连,去除空白符。
1 <ul>2 <li>item1</li3 ><li>item2</li4 ><li>item3</li5 ><li>item4</li6 ><li>item5</li>7 </ul>
你可以点击这里狠狠尝试demo
当然,空白符也是字符,去除它们也可以通过CSS样式letter-spacing、word-spacing来设定。详情见:如何解决inline-block元素的空白间距
如下面的换行符,和空格。
<span style="color: #0000ff"><</span><span style="color: #800000">div</span><span style="color: #0000ff">></span><span style="color: #000000">They can stay 72-hours within the Shandong province after they have entered China via the Qingdao International Airport.</span><span style="color: #0000ff"></</span><span style="color: #800000">div</span><span style="color: #0000ff">><br></span>
结果:浏览器解析的时候只保留单词之间的空白符被合并为一个空格。 They can stay 72-hours within the Shandong province after they have entered China via the Qingdao International Airport.
white-space:normal | pre | nowrap | pre-wrap | pre-line | inherit
normal: 合并空白符,允许自动换行 nowrap: 合并空白符,不允许自动换行 pre-line: 合并空白符(不包括换行符),允许自动换行 pre: 不合并空白符,不允许自动换行 pre-wrap: 不合并空白符,允许自动换行(在pre基础上,保留自动换行)
详情见:demo
补充一点:CSS3新增了两个换行属性word-wrap和word-break。
以上是何为空白符?空白符对HTML结构影响的详细内容。更多信息请关注PHP中文网其他相关文章!