获取由 css column-width 创建的列数[重复]

2024-01-09

可能的重复:
如何在 Javascript 中获取 css3 多列计数 https://stackoverflow.com/questions/6989306/how-to-get-css3-multi-column-count-in-javascript

我有一个很长的动态文本,将使用 CSS 将其分成几列

div
{
    -moz-column-width: 500px;
    -moz-column-gap: 20px;
}

是否可以获取创建了多少列?我在客户端使用 jQuery。


您的问题和小提琴会忽略供应商前缀;拉辛的回答是一个很好的方向,但并不完整。

我为您创建了一个小辅助函数,它会遍历这些值当前实现的前缀,并使用以下命令获取实际值.css()并返回正确的数字。跨浏览器工作,包括始终返回 1 的不支持的浏览器。

我选择忽略 iframe 情况,这只会让事情变得更加复杂,但据我所知与您的​​问题没有直接关系。

Update:现在考虑边框和填充。

jsFiddle 上的代码 http://jsfiddle.net/Ronny/BXaCs/和这里:

function getColumnsNumber(el){
    var $el = $(el),
        width = $el.innerWidth(),
        paddingLeft, paddingRight, columnWidth, columnGap, columnsNumber;

    paddingLeft = parseInt( $el.css('padding-left'), 10 );
    paddingRight = parseInt( $el.css('padding-right'), 10 );

    $.each(['-webkit-','-moz-',''], function(i, prefix){
        var _width = parseInt( $el.css(prefix+'column-width'), 10 );
        var _gap =   parseInt( $el.css(prefix+'column-gap'), 10 );
        if (!isNaN(_width)) columnWidth = _width;
        if (!isNaN(_gap))   columnGap = _gap;
    });

    columnsNumber = Math.floor( (width - paddingLeft - paddingRight) / (columnWidth + columnGap) );
    if (isNaN(columnsNumber) || columnsNumber < 1) columnsNumber = 1;
    return columnsNumber;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取由 css column-width 创建的列数[重复] 的相关文章

  • 有没有办法使用 Rspec/Capybara/Selenium 将 javascript console.errors 打印到终端?

    当我运行 rspec 时 是否可以让 capybara selenium 向 rspec 报告任何 javascript console errors 和其他异常 我有一大堆测试失败 但当我手动测试它时 我的应用程序正在运行 如果不知道仅在
  • 如何将函数附加到弹出窗口关闭事件(Twitter Bootstrap)

    我做了一些搜索 但我只能认为我可以将事件附加到导致其关闭的按钮 https stackoverflow com questions 13205103 attach event handler to button in twitter boo
  • jQuery AJAX 请求在 IE8 中失败,并显示消息“错误:调用 open 方法之前无法调用此方法。”

    我正在使用 jQuery 1 4 2 并尝试执行一个简单的 AJAX 请求 目标 URL 返回一个 JSON 字符串 我使用 jslint 对其进行了验证 该请求在 Firefox 和 Chrome 中有效 但不想在 IE8 中工作 我无法
  • 为什么 IE8 在我的图像锚标记上添加底部边框?

    我知道 这很可悲 但今天早上 IT 刚刚在我的机器上安装了 IE8 我立刻遇到了一个明显的问题 尽管我知道答案就在我面前 但我已经把它搞砸了太久了 首先 这是网站 www mchenry edu http www mchenry edu 在
  • 如何选择具有“A”类但不具有“B”类的 div?

    我有一些 div div class A Target div div class A B NotMyTarget div div class A C NotMyTarget div div class A D NotMyTarget di
  • 调整图像大小并将画布旋转 90 度

    这里有很多关于在 js 上使用画布旋转图像的主题 我阅读了其中的大部分内容 但无法找到解决我的问题的方法 我正在接收任何分辨率的图像 来自上传组件 我将其大小调整为 1024x768 如下所示 var canvas document cre
  • JQuery Mobile 与 MVC 的链接

    我正在使用 ASP NET MVC 3 和 Razor UI 设置 JQuery 移动网站 我正在生成我的链接 例如 a href See Group 2 a 假设我从 Home Index 访问它 我遇到的问题是 当我点击链接时 它会出现
  • Jquery 数据表列总和

    我只是参考一下这个链接 https datatables net examples advanced init footer callback html了解如何获取 jquery 数据表中的列总计 但我已经完成了一半的项目 我在html页面
  • Javascript split 不是一个函数

    嘿朋友们 我正在使用 javascript sdk 通过 jQuery facebook 多朋友选择器在用户朋友墙上发布信息 但是我收到此错误friendId split 不是函数 这是我的代码 function recommendToFr
  • 检查 jQuery 1.7 中是否存在基于文本的选择选项

    所以我有以下 HTML 片段
  • 为什么我们在打字稿中使用 HTMLInputElement ?

    我们为什么使用 document getElementById ipv as HTMLInputElement value 代替 document getElementById ipv value 功能getElementById返回具有类
  • Firebase 函数 onWrite 未被调用

    我正在尝试使用 Firebase 函数实现一个触发器 该触发器会复制数据库中的一些数据 我想观看所有添加的内容votes user vote 结构为 我尝试的代码是 const functions require firebase func
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • 如何创建适合屏幕宽度的等宽/高框? [复制]

    这个问题在这里已经有答案了 我正在尝试建立一个网站 其中有很多宽度和高度相等的框 例如 我有一个页面 其中并排有两个相同大小的框 简单的解决方案是将宽度和高度设置为 50vw 这在出现滚动条之前效果很好 我已经用谷歌搜索了几个小时 但无法理
  • 表格行未扩展到全宽

    我有一个表格 当我将表格的宽度设置为 100 并将表格行的宽度设置为 100 时 没有任何反应或宽度发生变化 Table Normal position relative display block margin 10px auto pad
  • Chrome//kendoUI/jQuery:超出最大调用堆栈大小

    我正在使用 hottowell 模板来创建 spa 应用程序 并且我从 jquery 中收到了一个很好的错误 基本上我的问题从此刻开始尝试绑定我的视图 viewModelBinder js 来自 durandal 库 viewModelBi
  • 如何用另一个响应替换窗口的 URL 哈希?

    我正在尝试使用替换方法更改哈希 URL document location hash 但它不起作用 function var anchor document location hash this returns me a string va
  • 从 FileReader 设置背景图像样式

    我正在寻找一种解决方案 允许我从文件上传输入中获取文件并通过设置 document body style backgroundImage 来预览它 以下代码用于在 Image 元素中显示预览 function setImage id tar
  • 如何确定所有角度2分量都已渲染?

    当所有 Angular2 组件完成渲染时 是否会触发一个角度事件 For jQuery 我们可以用 function 然而 对于 Angular2 当domready事件被触发 html 只包含角度组件标签 每个组件完成渲染后 domrea
  • 如何在执行新操作时取消先前操作的执行?

    我有一个动作创建器 它会进行昂贵的计算 并在每次用户输入内容时调度一个动作 基本上是实时更新 但是 如果用户输入多个内容 我不希望之前昂贵的计算完全运行 理想情况下 我希望能够取消执行先前的计算并只执行当前的计算 没有内置功能可以取消Pro

随机推荐

  • 使用scrapy Spider捕获http状态码

    我是 scrapy 新手 我正在编写一个蜘蛛程序 旨在检查一长串服务器状态代码的 URL 并在适当的情况下检查它们被重定向到的 URL 重要的是 如果存在重定向链 我需要知道每次跳转的状态代码和 url 我正在使用 response met
  • 使用networkStream的Image.FromStream

    我正在尝试使用该方法FromStream班级的Image设置使用网络流通过 tcp 连接接收的图像 这是两侧代码 Server TcpListener server new TcpListener IPAddress Any 34567 s
  • 如何使用 javascript、jquery 等创建打印模式

    假设我在几页上有一个打印按钮 每当用户单击时 它将在模式中弹出内容并可以从那里打印 任何想法将不胜感激 我有几页带有打印按钮 当用户单击它时 需要将该内容拉入模式中 然后从该模式中打印 我现在无法为您编写代码 但我可以让您走上正轨 你需要使
  • 为什么我的实体不能与 SpringBoot 一起工作,尽管它可以在没有 SpringBoot 的情况下工作

    请注意 在调查时这个问题 https stackoverflow com questions 52799706 springboot not an entity noredirect 1 comment92527948 52799706我更
  • JavaFX 在多个页面上打印表格视图

    所以 我的问题是我需要打印 tableview 的内容 但其中有太多项目 它只打印其中的前 23 个 我已经在这里找到了一些解决方案 不幸的是它们没有多大帮助 这是我的打印方法 FXML private void printIt Print
  • 如何检测何时发生全屏事件(按 f11 键)[重复]

    这个问题在这里已经有答案了 如何在按下 f11 键时检测全屏事件何时发生 如果发生这种情况 则意味着屏幕处于全屏模式 然后显示警报 不使用键码比较 请给我一种不同的方法来执行此操作 mozilla proposal element requ
  • PyQt QtWebChannel:从 JavaScript 调用 Python 函数

    我正在尝试 使用 Qt 类QWebEngineView and QWebChannel在 HTML 页面和 Python 脚本之间建立简单的连接 目标只是执行foo 当标题 h2 被点击 import sys from PyQt5 QtCo
  • 项目中尚未使用旧版 People API

    我在调用 google 登录 API 时遇到错误 错误是 旧版 People API 之前未在项目 中使用过或已被禁用 但人员 API 已启用 如何解决这个错误 这是我的 google api url 这足以解决我的问题 if empty
  • 如何在 ruby​​ 中清理格式错误的 xml

    我在整理从以下网站返回的格式错误的 XML 代码时遇到问题SEC 的 edgar 数据库 http www sec gov edgar shtml 由于某种原因 他们形成了可怕的 xml 包含任何类型字符串的标签都不是封闭的 它实际上可以在
  • Qt 5 无法部署在 SnowLeopard 上

    我遇到的问题是我的应用程序无法在 10 6 Snow Leopard 上运行 我使用这些参数进行编译 qmake LSPRO pro r spec macx clang CONFIG release CONFIG x86 64 在我的 Pr
  • WatiN:CurrentThread 需要将其 ApartmentState 设置为 ApartmentState.STA 才能自动化 Internet Explorer

    我正在从 C Windows 服务调用 WatiN 当我调用 WatiN 时 它抛出以下异常 CurrentThread 需要将其 ApartmentState 设置为 ApartmentState STA 才能自动化 Internet E
  • 同一线程上的 WebView 方法错误

    我有一个 android 程序 Webview 中的 Java html 我可以从 javascript 调用 Java 代码 但相反的方式停止工作 在 Eclipse 中更新后 这就是我想做的 制作一个网络视图 有效 在 javascri
  • SimpleXML 如何在节点中添加子节点?

    当我打电话时 addChild actor John Doe 这个孩子是最后添加的 有没有办法让这个新孩子成为第一个孩子 正如前面提到的 SimpleXML 不支持这一点 因此您必须使用 DOM 我的建议如下 使用您需要在程序中使用的任何内
  • ios - 从手指移动画笔

    我想在我的 iPad 应用程序中画画 如下图所示 in my app i have placed a image and while moving the finger touch movement i am repeating the i
  • 如何从列表中获取特定项目?

    我有一个案例类别的列表 我想从列表中获取特定项目 I do myList filter id myobject id 0 当filter实际上返回一些东西 但是 当过滤器不返回任何内容时 我会得到索引越界异常 scala gt case c
  • 为什么需要使用 EntryPoint 属性定义 DLLImport

    在经历的同时SWig http www swig org 生成的包装器中 我发现 PInvoke 没有定义任何入口点 但有些地方确实有入口点 那么它们之间有什么区别呢 什么时候需要定义 EntryPoint 什么时候不需要 定义无Entry
  • 按钮图像距离按钮顶部太远;太靠近按钮底部

    我正在 VB NET 2005 中开发 Windows 窗体 我想要一些带有图像的按钮 我说的是普通的 普通的 System Windows Forms Button 我已按照我想要的方式设置了所有内容 但图像在按钮上显示得太低 因此图标的
  • 如何打包不是使用 vagrant up 命令创建的现有虚拟机?

    我安装了 VirtualBox 然后在其中安装了 Ubuntu 12 10 Server Base OS 我在里面安装了各种php包和其他包 我的朋友推荐我使用 Vagrant 这样我就可以轻松地与我的队友分享我的设置 因为我当前的 Vir
  • pygame全屏模式退出

    我正在运行这个小程序 它以全屏模式将图像加载到屏幕上 但是一旦加载 程序将不会通过任何组合键退出 我最终不得不重置计算机才能完成我正在做的任何其他事情 import pygame pygame init WIDTH 1366 HEIGHT
  • 获取由 css column-width 创建的列数[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Javascript 中获取 css3 多列计数 https stackoverflow com questions 6989306 how to get css3 multi column