如果当前行的宽度太窄,则将子级的溢出移至下一行

2024-04-20

EDIT:我正在构建一个简单的活动日历(使用 HTML+CSS),目前正在处理多日活动。

我是 HTML&CSS 的初学者,有一个非常简单的问题,但我似乎找不到答案:如果没有,如何使子 div 溢出到下一行(div 等)屏幕上(或 div 行)上有足够的空间来容纳整个子 div 吗?你能最多只用 HTML&CSS(如果可能的话)来做到这一点吗?bitJavaScript 的?这就是我的意思应该发生的事情:

正如您所看到的,因为蓝色子 div 溢出到了 div 的第二行,因为它太大而无法容纳第一行。目前,如果我的蓝色 div 太大,它只会溢出到侧面(运行下面的代码)。

    html, body {
      left: 0;
      margin: 0;
      background:white;
      height:100%;
    }
    
    b{
      font-family:calibri;
      padding-left:10px;
    }
    
    #container{
      margin: 20px auto;
      width:300px;
      height: 150px;
      border: 1px;
      position:relative;
    }

    .colorone{
      background:#FFEB3B;
      width:150px;
      height: 150px;
      float:left;
    }
    .colortwo{
      width:150px;
      height: 150px;
      background:#8BC34A;
      overflow:hidden;
    }
    .colorthree{
      left: 10px;
      position: absolute;
      width: 150%;
      height: 20px;
      background:blue;
      overflow:hidden;
    }
    <html>
      <body>
      <div id="container">
         <div class="colorone">
           <b>4</b>
           <div class="colorthree"></div>
         </div>
         <div class="colortwo"><b>5</b></div>
         <div class="colortwo" style="float:left"><b>6</b></div>
         <div class="colorone"><b>7</b></div>
      </div>  
      </body>
    </html>

我已经在网上和 Stack Overflow 上进行了搜索和研究,但我似乎仍然找不到答案,而且几乎没有任何问题,所以任何帮助将不胜感激。


这里有一个太疯狂了依赖于内联元素的想法和linear-gradient.

#container {
  margin: 20px auto;
  width: 450px;
  display:flex;
  flex-wrap:wrap;
  position:relative;
}
#container > * {
  width:33.33%;
  height: 150px;
  background: #FFEB3B;
}
#container > *:nth-child(odd){
  background: #8BC34A;
}

#container > span {
  /* cover all the container */
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  /* */
  background:none!important;
  line-height:150px; /* same as height here */   
  font-size: 130px; /* a big font-size to cover more area */
  overflow:hidden; /* hide extra overflow of the "phantom" text */
  text-align:justify; /* we justify the "phantom" text to span until the end */
}
/* the below inline element will wrap different lines and will cover all the grid
   and since the line-height = height, we will have a perfect illusion of a continuous line
   over the different cells */
#container > span span {
  background:
      linear-gradient(var(--c,blue) 0 0)     /* the color */
      calc(var(--left)*150px)  var(--top)/   /* the position */
      calc(var(--width)*150px) var(--height) /* the size */
      no-repeat; 
}
#container > span span:before {
   content:". . . . . . . . . ."; /* phantom text to fill the inline element*/
   font-size: 300px; /* big enough to avoid having a long phantom text but not too much to make sure there is at least two characters per line to trigger the justify */
   line-height:0; /* we obey the to above line-height */
   visibility:hidden; /* we don't need to see the text */
}
<div id="container">
  <!-- calender element  --->
  <div><b>1</b></div>
  <div><b>2</b></div>
  <div><b>3</b></div>
  <div><b>4</b></div>
  <div><b>5</b></div>
  <div><b>6</b></div>
  <div><b>7</b></div>
  <div><b>8</b></div>
  <div><b>9</b></div>
  <!-- line elements -->
  <span style="--left:0;--top:20px;--height:20px;--width:4"><span></span></span>
  <span style="--left:2;--top:40px;--height:40px;--width:4;--c:red;"><span></span></span>
  <span style="--left:4;--top:100px;--height:10px;--width:3;--c:black"><span></span></span>
  <span style="--left:0;--top:90%;--height:20px;--width:9;--c:purple"><span></span></span>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果当前行的宽度太窄,则将子级的溢出移至下一行 的相关文章

  • 是否可以将 contentEditable 与 jQuery DatePicker 一起使用?

    我正在寻找一种将 contentEditable 与 jQuery DatePicker 一起使用的方法 我如何在可编辑表格上使用它 我在这里找到了一个答案 http www sencha com forum showthread php
  • 如何动态更改表格单元格文本颜色?

    我需要一个解决方案来通过 javascript 动态更改表格单元格的文本颜色 文本可以是以下颜色 蓝色 绿色 红色和黑色 表示例
  • 制作单行带有水平滚动条的 div

    好吧 我想我已经使用空白修复了这个问题 无换行 它在 Chrome 中工作 但在其他方面不起作用 我有这样的事情 div class outer ul li div class inner a href img src eg1 jpg a
  • 幻灯片引导轮播之间的空白

    我正在网站主页上使用引导轮播作为滑块 当轮播自动滑动时没有问题 但一旦我单击下一个和上一个箭头 幻灯片之间就会出现 140px 宽的空白 我已经检查了 css 并删除了 HTML 中的所有空白 但我一点运气都没有 轮播 HTML div c
  • 如何在 Angular2 中嵌入视频?

    我想开发单页应用程序 它是一个视频门户 用户可以登录 查看视频列表 导航到单个视频 对视频进行评分 并可以执行所有媒体相关任务 例如 播放 暂停 调整音量和寻找视频位置 既然有
  • 如何调整jupyterlab笔记本中滚动输出高度的大小?

    有没有办法调整 jupyterlab 笔记本中滚动输出高度的大小 潜在的解决方案 但需要 HTML CSS 知识 我从这个问题中找到了这个片段调整 ipython 笔记本输出窗口的大小 https stackoverflow com que
  • Flex Slider 无法在手机上运行

    我在这个页面上使用 flexslider 的网站上工作 http www intensetomatoes co nz story timeline http www intensetomatoes co nz story timeline
  • 更改按钮文本jquery mobile

    我正在使用新的 jquery mobile 1 0 alpha 1 版本来构建移动应用程序 并且我需要能够切换按钮的文本 切换文本工作正常 但一旦执行文本替换 CSS 格式就会被破坏 格式混乱的屏幕截图 http awesomescreen
  • 无需 JavaScript 的图像翻转

    我试图找到一种不使用 javascript 的方法 该方法允许您将鼠标悬停在较小的 div 或图像 上来更改较大 div 的背景 纯粹使用 HTML 和 CSS 可以吗 该示例有 2 个问题 1 仅滚动其中一个 div 有效 因为它紧随其后
  • JS 中的触摸板滚动检测,无库

    我正在制作自己的小型 Javascript 库 可以轻松地将您网站 和我的网站 的默认滚动条替换为自定义滚动条 其中一部分意味着为 BODY 元素提供 overflow hidden 样式来隐藏正常的滚动条 但是 这会阻止除代码中完成的滚动
  • 如何构建 ImageButton 控件适配器(或者更一般地说,如何构建一个简单的控件适配器)?

    我对这个问题的灵感是我发现了非常烦人的默认样式 border width 0px 在 ImageButton Web 控件上 简单的解决方案是通过向控件添加您自己的样式来覆盖它 例如Style border width 2px 无论如何 如
  • font-awesome 字体未加载到 Angular 项目中

    我已经使用 Angular 5 一段时间了 似乎我无法将任何字体很棒的图标加载到我的构建项目中 我完全按照下面链接中提到的步骤进行操作 https www npmjs com package angular font awesome htt
  • 如何将 !important 添加到 CSS-in-JS (JSS) 类属性?

    我正在尝试使用一些 CSS in JS 类这个答案 https stackoverflow com questions 54525334 how can i change the label size of a material ui te
  • -moz-background-clip:text 在 Firefox 中不起作用

    我正在尝试用图像填充 h1 标签中的文本内容 根据我的理解 我在 html 中执行以下操作 div class image clip h1 MY WONDERFULL TEXT h1 div 并在 css 文件中 image clip ba
  • 有没有办法在 Blazor 中隐藏 div?

    我正在使用 Blazor 并且想在按下导航栏切换器图标时隐藏侧边栏 列表项崩溃了 但问题是 div 仍然存在 div class page div class sidebar div class nav top row pl 4 navba
  • 在 html 中创建子页面 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 假设我有一个网站http www example com http www example com 如何为此页面创建更多子页面 即 w
  • Angular 8 - 删除 ng-component 标签 - 表行模板

    我有一个灵活的表格组件 有两种模式 普通表 有效 自定义行模板 这不是因为角度添加
  • 如何仅使用 Javascript 减慢平滑滚动的默认速度?

    我的目标是按回车键 然后让网站滚动到底部 我已将滚动行为设置为平滑 一切都正常工作 除了平滑滚动的默认速度太快了 我怎样才能减慢它的速度 下面是我的代码 请不要使用jquery 谢谢你 document body onkeyup funct
  • 我的引导页面页脚下方的空白

    虽然我之前在身体下方确定了 50 像素的填充 但我仍然遇到页面页脚下方有一堆空白的问题 我是否只需要延长内容即可填充垂直空间 我第一次使用 bootstrap 来创建我的新网站 但我陷入了这个恼人的困境 这是一个有问题的页面的链接 http
  • 使用 php 将 HTML 输出转换为纯文本

    我正在尝试将示例 HTML 输出转换为纯文本 但我不知道如何操作 我使用 file get contents 但我尝试转换的页面返回的结果最相似 raw http localhost guestbook profiles php file

随机推荐