ok~_~ok 2019-01-02 20:09 采纳率: 80%
浏览 6972
已采纳

HTML CSS:子元素什么时候可以超出父元素限制的范围?

疑问:
子元素什么时候可以同时从水平和竖直方向超出父元素的范围?
什么时候会从水平方向超出?
什么时候会从竖直方向超出?


首先,在HTML中,一个父元素包裹着一个子元素


<div class="parent">
    <div class="child"></div>
</div>


第二步:在CSS中设置父元素和子元素的范围,其中子元素的宽高是大于父元素的宽高的:


.parent{
    width:300px;
    height:300px;
    border: 2px solid blue;
}
.child{
    width:400px;
    height:400px;
    border: 2px solid red;    
}


在浏览器中运行,如图,可以得到第一个结论:子元素是可以超出父元素的范围限制的,
且可以从水平和竖直的方向同时超出

图片说明

第三步,我们先在HTML中添加进一些中文文字:


<div class="parent">
    <div class="child"> ....很多中文文字....</div>
</div>


如图:可以发现,当加进很多中文文字时,也是可以超出<div class="child"></div>的范围限制的,
但是为什么这里会先从竖直方向超出,而不会从水平方向超出呢?

图片说明

第四步:我们在HTML中添加进一些英文文文字:


<div class="parent">
    <div class="child"> ....很多英文文字....</div>
</div>


如图:可以发现,当加进很多英文文字时,也是可以超出<div class="child"></div>的范围限制的,
但是为什么这里会先从水平方向超出,而不会从竖直方向超出呢?

图片说明

**

所以,究竟什么时候子元素可以同时从水**平和竖直方向超出父元素的范围?
什么时候会从水平方向超出?
什么时候会从竖直方向超出?
  • 写回答

1条回答 默认 最新

  • 天际的海浪 2019-01-02 15:10
    关注

    1.当单个元素的尺寸超出父元素的尺寸时可以同时从水平和竖直方向超出父元素的范围

    2.对于多个元素或多个中文文字和英文单词会遵循文本流(文本流默认是水平方向)方向排列。当文本流遇到父元素的水平方向边界时会自动换行,也就不会从水平方向超出。只会从竖直方向超出。

    3.对于连续的英文字母会被认作为一个单词。一个单词之间默认情况是不允许自动换行的。当一个单词的长度超出父元素的尺寸时会从水平方向超出。

    上面说的都是默认情况,可以用css改变这些默认的情况。
    可以用writing-mode: vertical-lr;把文本流改变为垂直方向,水平与竖直方向会颠倒。
    可以用white-space: nowrap;强制所有文本在同一行内显示,超出父元素的尺寸时会从水平方向超出
    可以用word-break: break-all;或word-wrap: break-word;让一个单词之间也允许自动换行。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)