仅使用 CSS 向电话号码添加空格

2024-05-10

我有一个生成 HTML 电话号码的页面,如下所示:

<div class="phone">01987123456</div>

我想要的只是在数字内添加一个空格,如下所示:

01987 123456

生成的数字和 HTML 始终相同,但我只能访问客户端代码(HTML / CSS / Javascript / 等)。

如果可能的话,我想找到一种在不使用 Javascript 的情况下实现所有这些的方法,所以理想情况下我正在 CSS 或 HTML 中寻找答案。

我很确定这可以在 Javascript 中相当容易地完成,但客户希望确保电话号码的格式正确,即使 Javascript 被禁用(不要问)。

我想要以最有效且高效的方式将号码更改为我想要的号码。如果有人能弄清楚如何在数字中添加括号(如下所示:(01987) 123456)以及仅使用 CSS/HTML 的空间,您将立即被标记为正确以及我永远的感激之情。


EDIT:

我知道 CSS 是为了设计而设计的,我已经成为一名 Web 开发人员 15 年以上了。我确实可以通过 CSS hack 来生成我想要的东西,但不幸的是,向客户解释网页设计的基础知识并不是一个选择(他们认为他们更了解,而我无法向他们指示任何事情)。我的处境有点噩梦,我需要你的帮助!

我知道可以使用 CSS 将内容添加到页面content https://css-tricks.com/css-content/。我知道::first-letter@gillesc 在评论中提到的方法。我希望这样的事情可以帮助我。

客户端使用现代浏览器,因此 CSS3 解决方案就可以了。

不,我无法更改输出的 HTML。


我有兴趣看看这是否could可以用 CSS 来完成,即使它不应该做完了!下面的内容相当 hacky,理想情况下,电话号码将在服务器端进行格式化,或者,如果这不是一个选项,则使用 JavaScript。

一些注意事项:

  • 这需要添加一个属性.phone供伪元素使用。鉴于您对 HTML 的访问似乎有限,这可能会或可能不会破坏交易
  • 如果电话号码的格式不合适(例如 01 987123456),它将无法正确显示
  • IE 使用了一个令人讨厌的小技巧,因为它不计算width伪元素的正确使用ch因为某些原因。这要归功于 SW4:https://stackoverflow.com/a/20541859 https://stackoverflow.com/a/20541859
  • 需要纯色背景

这背后的总体思路如下:

  • .phone
    • text-indent: 1ch; on .phone将整个文本向左移动一个字符
    • .phone被设定为position: relative;允许伪元素相对于它定位
    • white-space: nowrap;确保如果数字中有中断,这不会换行到新行
  • .phone:before
    • background-color: white;掩盖数字.phone
    • border-right: 1ch solid white;隐藏第六位数字.phone,实际上这是空间
    • content: attr(data-phone);使用data-phone属性上.phone用相同的数字填充伪元素
  • left: 0;, position: absolute; and top: 0;用于定位伪元素
  • overflow: hidden;隐藏超过 5 个字符限制的任何字符
  • text-indent: 0; resets text-indent: 1ch; set on .phone
  • width: 5ch;确保伪元素只有 5 个字符长
  • 奇怪的媒体查询是针对 IE 的黑客攻击

已在 FF 38.0.5、Chrome 43.0.2357.124 m 和 IE 11 中测试并工作。不支持的浏览器ch设备(例如 Opera 12.17 和 Windows Safari 5.1.7)似乎显示自然状态下的电话号码。

.phone {
    position: relative;
    text-indent: 1ch;
    white-space: nowrap;
}
.phone:before {
    background-color: white;
    border-right: 1ch solid white;
    content: attr(data-phone);
    display: block;
    left: 0;
    overflow: hidden;
    position: absolute;
    text-indent: 0;
    top: 0;
    width: 5ch;
}
@media screen and (min-width:0\0) and (min-resolution: +72dpi) {
    .phone:before {
        width: 5.8ch;
    }
}
<div class="phone" data-phone="01987123456">01987123456</div>

JSFiddle: https://jsfiddle.net/scarjnb1/ https://jsfiddle.net/scarjnb1/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅使用 CSS 向电话号码添加空格 的相关文章

  • 使用 Javascript 删除 HTML 表格行

    我正在使用下面的代码使用 javascript 删除 HTML 表行 但它给了我错误 使用下面的代码 我在运行时使用 javascript 创建一个列 其中包含删除锚标记 var tbody document getElementById
  • 如何重置弹性项目的“显示”属性

    我试图通过保留旧浏览器 特别是 IE8 IE9 和 Opera 10 的表格 将基于表格和 JS 的旧布局转换为具有向后兼容性的新 Flexbox 问题是没有display flex item覆盖旧样式display table cell
  • 如何使用 :nth-child() 选择所有子项中的所有其他

    我正在开发一个评论系统 我需要拥有其他所有孩子 div 甚至是第一个孩子的孩子 用 CSS 选择 例如 假设我有这个标记 为了简单起见 省略了不需要的结束标签 div class comment div class comment div
  • 如何更改 Bootstrap 导航栏折叠断点

    目前 当浏览器宽度低于 768px 时 导航栏将更改为折叠模式 我想将此宽度更改为 1000px 这样当浏览器低于 1000px 时 导航栏就会更改为折叠模式 我想在不使用 LESS 的情况下执行此操作 我使用的是手写笔而不是 LESS 我
  • UIWebView 如何检测 被点击

    我知道下面的方法可以检测链接元素点击 但我想知道是否UIView可以检测是否img元素被点击 BOOL webView UIWebView webView shouldStartLoadWithRequest NSURLRequest re
  • Bootstrap 的网格每行列数

    Bootstrap 附带一个 12 列网格系统 必须放置在行内 我的问题是 列数 行数是否必须为 12 或更少 或者我可以有如下所示的布局吗 div class row div class col md 4 div div class co
  • CSS 中的 Data-URI SVG 背景在 Firefox 中不起作用

    好的 这就是我想做的 我的 css 文件中有这段代码 form row textfield hover textfield m hover background image url data image svg xml base64 PHN
  • CSS 聚焦于出现的输入 div [重复]

    这个问题在这里已经有答案了 我有这样的代码 div class lighter div
  • 将多个 CSS 文件连接成一个

    将多个 CSS 文件连接成一个 CSS 文件的最佳方法是什么 我想减少以下 进入 简单地做cat css css gt css 1 3
  • 在 PhoneGap 应用程序中打开用 HTML 和 CSS 制作的 PDF

    我的 iPad 应用程序在 Phone Gap 中遇到一个奇怪的问题 问题是我必须通过链接在我的应用程序中打开 PDF 文档 当我单击打开 PDF 的链接时 它会向我显示没有反向链接的 PDF 文档 因此 当我通过链接在应用程序中打开 PD
  • 使用 VSCode 的 EJS 文件缩进错误

    我在 VSCode 上遇到 EJS 文件问题 每次保存文件时 格式化程序都会应用错误的缩进 在每个 EJS 标识符下方 下一行向右移动 缺少正确的垂直对齐 我使用 ejs 的 HTML 格式并安装了 DigitalBrainstem 的 E
  • 如何使用 github 托管外部 CSS 文件?

    我将 css 上传到 github 然后转到网站上的文件并单击 raw 选项 我尝试将其添加到网页中 但 chrome 给出以下错误 资源解释为样式表 但使用 MIME 类型 text plain 进行传输 https raw github
  • 文件缓存:查询字符串与上次修改时间?

    我正在研究缓存网站资源的方法 并注意到大多数与我类似的网站都使用查询字符串来覆盖缓存 例如 css style css v 124942823 后来 我注意到每当我保存 style css 文件时 最后修改的标头都会 更新 使得查询字符串变
  • 仅使用 HTML 和 CSS 制作弧形帆形状?

    是否可以仅使用 HTML 和 CSS 创建下面的弧形帆形状 我可以看到从这个答案 https stackoverflow com questions 7073484 how does this css triangle shape work
  • CSS以两种颜色显示一个字符[重复]

    这个问题在这里已经有答案了 css中是否可以用两种颜色制作单个字符 我的意思是例如字符 B 上半部分为红色 下半部分为蓝色 h1 font size 72px background webkit linear gradient red 49
  • 即使我的情况按预期发生变化,Angular ngClass 也不会更新我的课程

    我正在创建的模板中有类似的内容 div class nng 3 div 价值app layout isNavbarFixed等用零或一初始化 并且页面第一次加载时 适当的类被插入到我的div 不过 此后通
  • 浮动CSS属性导致父div不继承高度?

    我在 div 中有一个元素设置为float right但是 它会导致最外面的 div 不环绕 这是jsfiddle http jsfiddle net W792X 5 for it 我试图让提交按钮在 div 内浮动 但设置该属性似乎会导致
  • 粘性背景图像/使用 CSS

    我目前正在创建我的第一个网站 并且即将完成 我在标题下为主体使用背景图像 我发现每个页面都有一个问题 因为它们的高度都不同 这使得我背景图像的当前设置放大图片以适合整个页面 我想做的是将背景图像设置为 粘性 我的想法是 背景图像将直接位于标
  • 如何计算一行中Flexbox项目的数量?

    网格是使用 CSS flexbox 实现的 Example http jsbin com jumosicasi edit html css js output 本示例中的行数为 4 因为我出于演示目的固定了容器宽度 但是 实际上 它可以根据
  • 在什么情况下,使用 HTTP/2 单独加载图像会比使用 HTTP/1.1 中的精灵一次加载所有图像慢?

    HTTP 2 使多路复用连接成为可能 从而消除了与服务器的多个连接的需要 通过单个连接 可以将许多单独的图像发送到客户端 这避免了将多个图像组合成一个并使用 CSS 将其分开的旧图像精灵模式 我很好奇精灵在 HTTP 2 世界中是否仍然会更

随机推荐

  • java 属性文件作为枚举

    是否可以将属性文件转换为枚举 我有一个包含很多设置的属性文件 例如 equipment height equipment widht equipment depth and many more like this and not all a
  • Android - 从服务器获取响应时验证 JSON 以避免 JSONException

    在我的一些与服务器通信并使用 http 获取响应的应用程序中 我使用 json 来格式化数据服务器端 当它到达设备时 我使用类似于我在 stackoverflow 上找到的代码 private class LoadData extends
  • 在 Haskell 中计算移动平均线

    我正在学习 Haskell 所以我尝试实现移动平均函数 这是我的代码 mAverage Int gt Int gt Float mAverage x a fromIntegral k fromIntegral x k lt rawAvera
  • JQuery - 如何检测给定 div 中存在给定类的 div 数量?

    我有一个这样的div div class x div 并包含在这个 div 中 我有几个像这样的 div div class y div div class y div div class y div etc 问题1 如何检测容器 div
  • Angular2 i18n:使用 XLIFF 的原因是什么?

    我有点不明白为什么 Angular 团队选择使用 XLIFF 而不是 JSON 我缺少什么 由于投票接近而编辑 我注意到有人说答案是基于观点而不是基于事实 XLIFF 的一个缺点是它比 JSON 更大 我试图了解除了偏好之外是否还有选择 X
  • 在模拟器上卸载应用程序后,NSUserDefaults 未清除

    这听起来可能很菜鸟 我想检查用户是否第二次进入我的应用程序 以便保留我正在使用的运行计数NSUserDefaults 我已经在我的中实现了以下代码rootViewController s viewDidLoad method NSUserD
  • svn获取当前用户

    如何获取特定工作站上使用 svn 的当前用户 我可以使用 svn exe 可执行文件和一些开关来获取该信息吗 Thanks 在 Linux 中 您将在主目录中找到以下文件 subversion auth svn simple 在此文件中 您
  • 如何在WCF Rest服务中从流上传图像

    我正在尝试创建 wcf 服务 该服务将上传 pdf doc xls 图像等文件 但 pdf txt 文件正在上传并正确打开 但是当我尝试上传图像文件时 文件正在上传 但是图像不可见 OperationContract WebInvoke M
  • Windows Azure 网站 - 获取实例标识符

    在具有多个实例的 Azure 网站上确定哪个实例正在响应 某些 ID 或其他唯一信息 的可能方法是什么 以下环境设置将包含当前请求正在其上运行的实例 ID WEBSITE INSTANCE ID 您还将在响应中收到此 id 作为 cooki
  • 当我没有指定 x64 平台而不是 AnyCPU 时,MSBuild 如何或为何选择 x64 平台?

    我在跑msbuild exe通过常规 PowerShell 控制台的 Rake 这是从诊断级别运行打印的命令 C Windows Microsoft NET Framework v4 0 30319 msbuild exe D Projec
  • 如何像在浏览器中一样检索准确的 HTML

    我正在使用 Python 脚本来呈现网页并检索其 HTML 它适用于大多数页面 但对于其中一些页面 检索到的 HTML 不完整 我不太明白为什么 这是我用来废弃此页面的脚本 由于某种原因 每个产品的链接不在 HTML 中 Link http
  • 使用 prawnto_2 gem 加载图像时,RAILS_ROOT 不再有效

    我正在将我的应用程序从 Rails 3 0 升级到 Rails 3 1 我已经尽可能地将旧插件转为 gems 其中包括用这个漂亮闪亮的新插件替换旧的 prawnto 插件对虾 2 https github com forrest prawn
  • 为基于架构的 XML 文件创建 WPF 编辑器

    这是场景 我们的服务器产品之一使用大型 XML 配置文件 该文件的布局相当好 并且针对 XSD 文件进行了验证 现在是时候构建一个配置 GUI 来维护这个文件了 我想深入研究 WPF 来完成它 我可以为每个配置部分布置一个单独的表单 每次向
  • ExtJS 4.1:如何将本地数据与 ajax 加载的数据合并到单个存储中?

    我正在寻找一种将本地数据与 ajax 加载的数据组合到单个存储中的方法 我很难用英语解释这一点 我希望这段代码能更明确 var store Ext create Ext data Store autoLoad true fields id
  • 如何链接到具有特定经度和纬度的 Google 地图?

    我有一个小应用程序 可以提供当前位置 经度和纬度 现在我必须浏览带有经度和纬度的谷歌地图 请建议我如何做到这一点 最好的方法是使用q参数 以便显示带有标记点的地图 例如 https maps google com q
  • 向 tk103 GPS 跟踪器发送命令

    我正在使用 php 开发实时 GPS 跟踪器 Web 应用程序 跟踪器参考号是tk103 我可以从跟踪器接收信息并将其存储到数据库中 设备的 GPRS 模式已启用 我的问题是 如何使用 php ini 将命令从服务器发送到设备 提前致谢 这
  • C# 中输入按键

    我尝试了这段代码 private void textBox1 KeyPress object sender KeyPressEventArgs e if Convert ToInt32 e KeyChar 13 MessageBox Sho
  • 这种对有效类型规则的使用是否严格遵守?

    C99和C11中的有效类型规则规定 没有声明类型的存储可以用任何类型写入 并且存储非字符类型的值将相应地设置存储的有效类型 抛开 INT MAX 可能小于 123456789 的事实不谈 以下代码对有效类型规则的使用是否严格符合 inclu
  • 如何使用 AutoLayout 使 UIView 向上滑动动画?

    this is what I like to achieve 我想执行向上滑动动画 用户可以向上滑动 UIView2 并且 UIView2 将在屏幕上停止一半 我知道如何通过 UIButton 操作以模态方式呈现 UIViewControl
  • 仅使用 CSS 向电话号码添加空格

    我有一个生成 HTML 电话号码的页面 如下所示 div class phone 01987123456 div 我想要的只是在数字内添加一个空格 如下所示 01987 123456 生成的数字和 HTML 始终相同 但我只能访问客户端代码