`
mutongwu
  • 浏览: 447473 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于未设置父元素宽度的block子元素显示

    博客分类:
  • CSS
阅读更多
如果block父元素设置了宽度,而block子元素又没有设置宽度(我的理解是默认为一个单词/汉字的宽度),那么,假如 子元素的内容+padding + margin 超过了父元素的宽度,则,子元素的内容将会自动换行,每一行的最小内容为一个单词(汉字),然后计算该行的内容 + padding +  margin,超过父元素的宽度,重复换行操作,直到所有内容显示。这个时候,假如父元素没有设置高度,那么所有的内容都能够正常显示,假如父元素设置了高度,并且高度已经不足于包含内容,所有内容也会显示,但可能会受到周围元素的覆盖。

.sample{
display:block; visibility:visible;
padding:20px 120px;
margin:0 100px;
/*width:100px;*/
border-top: 5px solid gray;
border-bottom:5px solid black;
border-left: 5px solid gray;
border-right: 5px solid black;
background-color:gold; 
}
<div style="width:500px;"><div class="sample">
这是中文这是中文这是中文这是中文这是中文这是中文哦</div></div>


显示结果:



在Firebug里面的显示:(120*2 + 5*2 + 100*2 + 50 = 500)



内容为英文的情况:



从结果里面可以看出,block元素里面的内容,都在同一个"box"里面,并且整体就是一个box(只有一条border-top和border-bottom),每一行的内容都应用了padding属性。

另外,假如子元素设置了宽度,那么子元素的内容将填充该宽度:




我以为inline元素的显示可能会有一些相似的地方,但结果让我找不到规律,疑问查看:
http://mutongwu.iteye.com/admin/blogs/745206
  • 大小: 2.4 KB
  • 大小: 7.3 KB
  • 大小: 6.1 KB
  • 大小: 1.5 KB
分享到:
评论

相关推荐

    CSS设置HTML元素的高度与宽度的各种情况总结

    对于处于文档流中的元素,无论父元素宽度如何,子元素都会继承其父元素的宽度。如果元素脱离了文档流,例如使用`float:left`或`position:absolute`、`position:fixed`,其宽度将根据其内容自动调整。这是因为脱离...

    父级元素未设置高度和宽度时高度塌陷问题的解决方法

    这通常发生在父元素内仅包含浮动的子元素,而父元素本身并未明确设置高度和宽度时。这种情况会导致父元素无法自动扩展其高度以包含浮动的子元素,从而使父元素的高度“塌缩”为零。这种现象称为高度塌陷,它会破坏...

    html div没有被撑开的原因及解决办法

    如果`div`内部的子元素被设置了`position: absolute`,它会从正常文档流中移除,不再影响父元素的尺寸。因此,父`div`可能不会自动扩展以适应它。 **解决方案:** 1. 如果可能,避免使用绝对定位,或者尝试使用相对...

    Web前端与移动开发之复合选择器 css元素显示模式 背景属性.txt

    只选择父元素最近一级的子元素 即必须是亲儿子 选择器1 选择器2可以是任意基础选择器 (3)并集选择器(重要) 可以选择多组标签 定义相同样式 通常用于集体声明 语法 元素1, 元素2{样式声明} 元素1和元素...

    子Div使用Float后撑开父Div的几种方法

    这是因为overflow属性会在父元素内部创建一个块格式化上下文(Block Formatting Context),从而包含浮动的子元素。zoom属性则是针对IE浏览器的特有属性,当设置zoom:1时,可以确保IE浏览器也能被撑开。 2. 设置父...

    详解css display:box 新属性

     2)若子元素设置固定宽度,则该子元素应用固定宽度,其他未设置固定宽度的字元素将余下的父级宽度(父级-已设置固定宽度的子代元素的总宽度按 number占份数  3)若子元素有margin值,则按余下(父级宽度-子代...

    网页的效果:Style 中的Display用法 (2).pdf

    `display`属性在CSS1和CSS2中就已经定义,并且具有继承性,这意味着子元素可以继承父元素的`display`值,除非子元素自身定义了不同的`display`值。然而,一些值如`compact`, `marker`, `run-in`在某些浏览器中并未...

    浅谈css溢出机制探究

    当一个块级容器(block container box)内的内容(包括子元素、子孙元素等)超出了容器本身设定的宽度或高度时,就会发生溢出。这时,CSS `overflow` 属性就派上了用场。`overflow` 属性可以设置为 `visible`、`...

    HTML5+CSS3开发商业站点Chapter7.pptx

    - **边框塌陷**:当子元素浮动后,父元素的高度无法自动适应子元素,导致父元素高度计算错误的现象。 - **解决方法**: 1. **添加额外的空元素并使用clear属性**:例如在父元素内部添加一个新的空`&lt;div&gt;`元素,并...

    关于css 行元素和块元素 相互转换 居中

    子元素同样设置`float: left`,`position: relative`,`left: -50%`,以实现居中。 至于垂直居中,针对已知高度的元素,有以下几种方法: 1. 设置上下`padding`相等,使内容居中。 2. 将`line-height`设为与元素...

    CSS教程 伪清除浮动

    当给`ul`元素添加`float:left`时,它会包裹住浮动的子元素,但由于没有指定宽度,黄色背景并未完全显示。因此,我们需要指定一个宽度,如`width:100%`,使`ul`元素能扩展至包含所有的浮动子元素。 然而,这种“伪...

    web笔记i.doc

    9. 清除浮动:为了避免子元素浮动导致的父元素高度塌陷,需要清除浮动。常见的清除浮动方法包括添加额外的`div`并设置`clear:both;`,使用`overflow:hidden;`,以及使用CSS伪元素如`:before`和`:after`。 【网页...

    display属性.doc

    `display` 属性具有继承性,这意味着如果没有为子元素指定特定的`display`值,那么子元素会继承父元素的`display`值。 #### 四、语法 ```css display: block | none | inline | compact | marker | inline-table | ...

    很少朋友知道的margin 百分比是按参照物来计算的

    通过合理地安排父元素和子元素的宽度和高度,再配合使用margin百分比,可以轻松实现这些布局效果,而无需复杂的计算和定位。 总结来说,了解并正确使用CSS中margin百分比的计算方式,能够帮助我们更好地控制页面...

    【JavaScript源代码】JS实现图片瀑布流效果.docx

    在HTML中,首先创建一个大的容器元素`&lt;div class="bigblock"&gt;&lt;/div&gt;`,这个`bigblock`是用于放置所有图片的基础模块,通常设置为相对定位以便于绝对定位的子元素相对于其定位。 2. **图片模块化**: 图片瀑布流...

    CSS学习指南 .pdf

    如果一个父元素只有一个浮动子元素,它会塌陷向左或向右移动直到遇到父元素内容区的边界或另一个浮动元素为止。浮动会改变块级元素的布局,但不影响内联元素的排列。 #### CSS中的display属性 display属性的inline...

    浏览器兼容问题

    **问题描述**:当父级元素使用相对定位,且宽度设置为奇数时,子元素使用绝对定位,在 IE6 中会出现右侧多出 1 像素的情况。 **解决方案**:将宽度的奇数值改为偶数。 **解释**:更改宽度值为偶数可以解决此问题。...

    前端CSS总结.doc

    - **层次选择器**:如后代选择器(`祖先元素 子元素`)、子选择器(`祖先元素 &gt; 子元素`)、相邻兄弟选择器(`元素1 + 元素2`)和同辈选择器(`元素1 ~ 元素2`)。 - **结构伪类选择器**:如`:first-child`, `:...

Global site tag (gtag.js) - Google Analytics