当前位置: 首页 > 知识库问答 >
问题:

如何获得引导行中的最高div

钱修雅
2023-03-14

我想将边框应用于Bootstrap行内的最高div。下面是我的代码(作为一个例子):

<section>
    <div class="row">
        <div class="col-md-6">
            <strong><span style="color:#f77f00;">TIP 1:</span> blahblahblah</strong>
            <p>dnijengeinjkdngkjdfnsdmnvjkgnkjnvjkerngeiuj <br/>orem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
        </div>
        <div class="col-md-6">
            <div class="embed-responsive embed-responsive-16by9">
                <iframe width="560" height="315" src="https://www.youtube.com/embed/4ZT2AXgGzAU?start=77" frameborder="0" allowfullscreen class="embed-reponsive-item"></iframe>
            </div>
        </div>
    </div>
</section>

在某些情况下,YouTube视频DIV(class="col-md-6")最高,而在其他情况下,文本div(class="col-md-6")最高。(例如,当您在平板电脑上查看时)

确定最高div的最佳解决方案是什么,找出它在哪一边(左/右),并将边框应用到左或右(取决于它在哪一边)?

正如你所看到的,中线并不是一直到底部。我希望它一路走到底,我已经找到了一个解决方案:

section {
    padding: 30px;
    border: 1px solid gray;
    margin-bottom: 45px;
}

section .row {
    border: 1px solid gray;
}

section .row > div:last-of-type {
    border-left: 1px solid gray;
}

section .row > div:only-child {
    border-left: 0;
}

@media (max-width: 991px) {
    section .row > div:last-of-type {
        border-left: 0;
    }
}

但这只适用于右侧div高于左侧div的情况(如示例中所示)

如果我的问题不清楚或不完整,请告诉我。

编辑:为什么我的帖子被否决了?我不明白为什么。

共有3个答案

许典
2023-03-14

你可以试试这个脚本。它均衡您的列,所以您可以给任何列的边框,没关系。你也可以把它放在一个函数中,并在每次窗口调整大小时使用它。我没有时间测试它,因为我匆忙地输入了这个,但是它应该可以工作。

$('section').each(function(index, element) {
        var leftColumnHeight = $(element).find('.row .col-md-6:first-child').height();
        var rightColumnHeight = $(element).find('.row .col-md-6:last-child').height();

        if(rightColumnHeight > leftColumnHeight){
            $(element).find('.row .col-md-6:first-child').height(rightColumnHeight);
        }

        if(leftColumnHeight > rightColumnHeight){
            $(element).find('.row .col-md-6:last-child').height(leftColumnHeight);
        }
    });

编辑:

我不能留下评论,但我会在这里说,你可以把这个脚本修改成一个函数,并在你喜欢的行上使用它。例如,您可以向要均衡的列添加一个额外的类,例如:

<div class="col-md-6 equal-column"> 

并将脚本更改为这个,因此它适用于任何列,而不仅仅是col-md-6:

 $('section').each(function(index, element) {
            var leftColumnHeight = $(element).find('.row .equal-column:first-child').height();
            var rightColumnHeight = $(element).find('.row .equal-column:last-child').height();

            if(rightColumnHeight > leftColumnHeight){
                $(element).find('.row .equal-column:first-child').height(rightColumnHeight);
            }

            if(leftColumnHeight > rightColumnHeight){
                $(element).find('.row .equal-column:last-child').height(leftColumnHeight);
            }
        });
楮法
2023-03-14

对两个div使用display:table cell。这样他们的身高就永远一样了。

.row {
  display:table
 }

.col-md-6 {
  display:table-cell
}
皇甫通
2023-03-14

这是JSFIDLE。

在页面加载时,我们调用函数findHighestDiv()

window.onload = findHighestDiv();

我们用class遍历每个元素。

const findHighestDiv = () => {
  let rows = document.querySelectorAll('.row');
  for (let i = 0; i < rows.length; i++) {
  }
}

在每一行中,我们有两个div:textvideo

const findHighestDiv = () => {
  let rows = document.querySelectorAll('.row');
  for (let i = 0; i < rows.length; i++) {
    const textDiv = rows[i].querySelectorAll('.text');
    const videoDiv = rows[i].querySelectorAll('.video');
  }
}

要获取这个div的高度,我们使用offsetHeight。

const findHighestDiv = () => {
  let rows = document.querySelectorAll('.row');
  for (let i = 0; i < rows.length; i++) {
    const textDiv = rows[i].querySelectorAll('.text');
    const videoDiv = rows[i].querySelectorAll('.video');
    const textDivHeight = textDiv[0].offsetHeight;
    const videoDivHeight = videoDiv[0].offsetHeight;
  }
}

然后我们比较它们以获得最高高度并使用设置边框style.border右style.border左

const findHighestDiv = () => {
  let rows = document.querySelectorAll('.row');
  for (let i = 0; i < rows.length; i++) {
    const textDiv = rows[i].querySelectorAll('.text');
    const videoDiv = rows[i].querySelectorAll('.video');
    const textDivHeight = textDiv[0].offsetHeight;
    const videoDivHeight = videoDiv[0].offsetHeight;
    if (textDivHeight >= videoDivHeight) {
      textDiv[0].style.borderRight = '1px solid gray';
    } else {
      videoDiv[0].style.borderLeft = '1px solid gray';
    }
  }
}

很抱歉,帖子中的代码片段无效idk原因:(

 类似资料:
  • 我有一个Spring Boot应用程序(使用嵌入式Tomcat7),并且我在中设置了,这样我就可以有一个随机端口。在服务器启动并在一个端口上运行之后,我需要能够获得所选择的端口。 我不能使用,因为它为零。这是一条看似简单的信息,那么为什么我不能从我的java代码中访问它呢?我如何访问它?

  • 问题内容: 我需要 从多个Lucene索引中 提取 频率最高的术语 ,以将其用于某些语义分析。 因此,我想获取可能出现次数最多的前30个词(仍未决定阈值,我将分析结果)及其按索引计数。我知道由于故意删除重复项,我可能会失去一些精度,但是就目前而言,我可以接受。 因此,对于所提出的解决方案,(不必说可能)速度并不重要,因为我会进行静态分析,所以我会强调实现的 简便性 ,因为我不太了解Lucene,也

  • 问题内容: 我有下表 在这里,我有一个“学生”表,我想 从该学生表中获取从每个学科获得满分的学生的姓名,例如以下输出。 问题答案: 您可以使用ROW_NUMBER函数仅返回每个主题的“最佳”行: SQL小提琴 MS SQL Server 2008架构设置 : 查询1 : 结果 :

  • 如何像UIKit一样在引导中获得自动宽度列? 我需要5列自动宽度。 在UIKit中,您可以使用

  • 问题内容: 我有这张桌子: 如何为每个名称获得年份第二高的行,如下所示: 我尝试了以下查询,但没有成功: 上一个查询给了我这个错误:“ SQL错误(1235):此版本的MySQL尚不支持’LIMIT&IN / ALL / ANY / SOME子查询’” 而且我现在无法更改MySQL版本(5.6.25),因为该解决方案已经投入生产。 有什么帮助吗? 问题答案: 在MySQL中,每个组求解n的一种方法

  • 问题内容: 我有一个包含10列的表格,其中有八列是带有日期的列。我期望的结果是获取每一行的最大日期(我已经完成的工作),但我也想获取最大日期来自的列的名称。 问题答案: XML具有处理通用查询的强大能力: 更新:一些解释 第一个将创建一个如下所示的XML: 第二个用于返回中的所有节点。通过我们可以获得元素的名称()及其内容。 有诀窍,并返回其获得的所有行(这是每个ID最高)。

  • 问题内容: 不同的iOS设备上的键盘高度不同。有人知道我如何以编程方式获取设备键盘的高度吗? 问题答案: 在Swift中: 您可以通过订阅通知来获取键盘高度。(假设您想知道显示的高度是多少)。 像这样: 迅捷2 迅捷3 斯威夫特4 然后,您可以使用以下功能访问高度: 迅捷2 迅捷3 斯威夫特4

  • 问题内容: 我已经执行了JDBC查询以获取结果集。在遍历之前,我想快速找出返回了多少行。我如何才能做到这一点? 我正在使用Java 6,Oracle 11g和最新的Oracle JDBC驱动程序。 问题答案: 您将不得不作为一个单独的查询来执行此操作,例如: 某些JDBC驱动程序可能会告诉您,但这是可选行为,更重要的是,该驱动程序可能还不知道。这可能是由于如何优化查询所致,例如,Oracle中的两