句子间距[关闭]

2023-11-26

呈现句子之间应有的额外间距的最佳方式是什么(使用 [X]HTML+CSS)?

<p>Lorem ipsum.  Dolor sit amet.</p>
               ^^ wider than word spacing

由于 HTML 和 XML 都需要空格折叠,因此上述两个空格必须表现为单个空格。

有哪些选择?下面有一些明显的,还有哪些? (CSS3 中有什么吗?)  这些(包括跨不同浏览器的)存在哪些缺点(如果有的话)? (下面的不间断空格如何与换行交互?)

  • ..ipsum. &nbsp;Dolor..
  • ..ipsum.&nbsp; Dolor..
  • ..ipsum.&nbsp;&nbsp;Dolor..

网上有很多 FUD 声称这是为打字机发明的,但你可以在美国等文件中看到它。独立宣言。 (是的,我意识到你不应该遵循两百多年前的所有约定,DoI 只是一个方便的例子,表明它早于打字机和等宽字体。)额外的空间会分散注意力-更改背景颜色后,示例不能是其他颜色!

坦率地说,虽然我很欣赏关于是否应该使用额外间距的意见和讨论(这与编程无关),但这不是我要问的。假设这是一个要求,实现它的最佳方法是什么?


您可以使用white-space: pre-wrap保留空格序列,同时仍然换行文本:

<p style="white-space: pre-wrap;">Lorem ipsum.  Dolor sit amet.</p>

IE 8 模式下的 IE 直到 IE 8 才支持此功能,Firefox 3.0 之前也不支持此功能。

你也可以使用&emsp; or &ensp;对于空间一em or one en宽的。我不知道这些的支持有多广泛,但它们似乎可以在 Mac OS X 上的最新 WebKit 和 Firefox 上运行。

两个序列&nbsp;字符将防止该空间出现换行;就是这样&nbsp;意思是不间断空格。序列A sentence. &nbsp;Another.导致&nbsp;出现在第二行,稍微缩进文本,这可能是不可取的。序列A sentence.&nbsp; Another.工作正常,换行并且不添加任何额外的缩进,但如果您在合理的文本中使用它,则使用&nbsp;在该行的末尾,它将阻止该行正确对齐。&nbsp;用于写某人名字的情况,例如Mr.&nbsp;Torvalds,或以 a 结尾的缩写.,其中印刷惯例表明您不应将其拆分成行,以避免人们感到困惑并认为句子已经结束。

因此,使用序列&nbsp;是不可取的。由于这是一种风格效果,我建议使用white-space: pre-wrap,并接受这种风格在不支持它的平台上会不太理想。

edit: 正如评论中指出的,white-space: pre-wrap不适用于text-align: justify。不过,我已经测试过不同实体的采样器 using 浏览器截图(令人讨厌的广告,而且有点不稳定和缓慢,但就价格而言,这是一项非常有用的服务,而且是免费的)。看起来有各种各样的浏览器,在各种各样的平台上,支持&ensp; and &emsp;,一些仍然不使用空格,因此渲染效果还不错,并且只有 Windows 2000 上的 IE 6 实际上将它们渲染为破碎的框。 BrowserShots 不允许我选择我想要的确切浏览器/操作系统组合,因此我无法在 XP 上选择 IE 6 来查看是否有任何不同。所以,只要你能忍受 Win2K(或许还有 XP)上的 IE 6 损坏,这就是一个合理的答案。

另一种可能的解决方案是找到(或创建)一种字体,该字体具有“.”字符组合的字距调整对,以使它们的字距调整得更宽。和@font-face目前所有主要浏览器都支持,包括 IE 回到 IE 5.5(尽管 IE 使用与其他浏览器不同的格式),使用您自己的字体实际上变得合理,如果不支持,则回退到用户默认字体不会破坏任何东西。

最后一种可能性可能是让 CSS 委员会添加一个样式功能,该功能允许您指定在句子末尾需要更宽的间距(这将由句点后跟一个空格来确定;首字母缩略词和缩写词需要一个&nbsp;以避免获得更广阔的空间)。 CSS 委员会目前正在讨论添加更高级的排版支持,因此现在可能是开始讨论此类功能的好时机。

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

句子间距[关闭] 的相关文章

  • 在 Angular 2 中动态更新 css

    假设我有一个 Angular2 组件 home component ts import Component from angular2 core Component selector home templateUrl app compone
  • Sass - “map-get”和简单变量有什么区别?

    我是 Sass 的新手 并且一直在阅读有关使用变量的不同方法的信息 我尝试应用的这一原则仅适用于颜色 我发现的一些解决方案如下 map get colors lighestGray F8F8FA lightGray A5ACBA light
  • 基于父 div 的 CSS 优先级

    如果您在浏览器中查看以下代码 该链接将显示为红色 我希望它是绿色的 因为辅助 div 嵌套在主 div 内 看起来颜色是由 css 文件中元素的顺序决定的 如果我在 primary 之后移动 secondary 则链接为绿色
  • 如何动态获取浏览器的高度和宽度?

    我想做的是创建一个不依赖媒体查询的聊天框 这从数学上设置了聊天框内容的大小 我正在尝试 window height window width 但这并没有覆盖整个浏览器窗口 我想在 javascript jquery 中完成这一切 而不需要
  • 有人知道 pinterest.com 中的 div 是如何发出的吗?

    我尝试像这样水平渲染我的 div 图像 从左到右 从上到下 但这并不完全正确 想知道是否只是垂直完成每列的渲染 从上到下 从右到左 有人知道如何模仿 复制此页面吗 更新 为了回应下面的答案 我快速搜索了 砖石与同位素 下列post http
  • 如何阻止richfaces风格?

    我开发了这个联系表格
  • Bootstrap 3 - 对齐列高

    创建一个用于教育目的的网站 但我遇到了网格 列高度问题 这是我尝试复制的网站图像 Click me https i stack imgur com dge5f jpg 这是我到目前为止所得到的 Click me https i stack
  • 如何在 Ionic 中将图像同时放入

    我目前正在开发 Ionic 应用程序 并致力于在 ion header 和 ion content 中实现图像 这是我如何实现的屏幕截图 从屏幕截图中可以看到 离子标题和离子内容内容被隐藏 因为我设置了图像z index到高数字 有人可以建
  • 将画布图像保存到服务器

    我正在尝试将画布图像保存到服务器 我可以保存文件 但它始终是 0 字节 我的代码有什么问题吗 php
  • Webkit 浏览器在确定表格布局中的单元格宽度时不考虑填充:已修复

    我在申请时得到不同的结果table layout fixed到表格并在单元格上使用填充 IE 和 Firefox 似乎可以通过将单元格宽度和填充加在一起来正常工作 Chrome 和 Safari 仅使用单元格宽度 我看到该问题存在一个错误
  • 谷歌地图如何将图像添加到InfoWindow中

    您好 我正在尝试将图像添加到谷歌地图信息窗口中 我的代码就像这样的脚本 var ContactUs function return main function to initiate the module init function var
  • HTML/CSS:清除中间的浮动元素,而不添加不需要的标签[重复]

    这个问题在这里已经有答案了 大多数 ClearFix 技术都涉及在父容器的最底部添加内容 我最喜欢伪元素方法 因为它不会将不需要的元素添加到 HTML 中 然而 最近我发现我正在处理一个容器 其中有一些孩子漂浮 但不是全部 假设前 2 个子
  • 为什么我的 OpenLayers 3 地图未在 Internet Explorer 11 中显示?

    I am trying to serve up a map in Internet Explorer that works fine in Firefox or Chrome While debugging I noticed that s
  • 动态创建特定数量的输入表单元素

    我读过很多关于动态添加字段集的博客和帖子 但它们都给出了非常复杂的答案 我所要求的并没有那么复杂 我的 HTML 代码
  • javascript 中可滚动区域/div 的增量单位?

    在 javascript 中我可以确保我的大 div 垂直滚动 仅以 比方说 16 像素为单位 在 Java 中 这些被称为 增量单位 我在 javascript 中找不到类似的东西 我想确保部分滚动时的某个区域 div 始终是视图 16
  • 悬停时用倾斜背景填充元素

    我正在尝试创建一个CSS按钮悬停效果 但我没能用倾斜的形状填充元素 悬停效果是如何规划的 屏幕截图 1 实际看起来如何 屏幕截图 2 我希望悬停效果看起来像斜边 button sliding bg color 31302B backgrou
  • 如何使文本在响应式图像上垂直居中?

    当浏览器窗口大小调整时 如何使这些图像上的标题文本移动 我的实现很棘手 我需要一种方法来防止文本在调整窗口大小时滑动 Codepen http codepen io anon pen mxbEd div class row div clas
  • document.styleSheets[x].cssRules 为 null

    当我检查网站时 我看到 cssRules 来自document styleSheets x cssRules 然而 通过这个网站stackoverflow com 当我用 Chrome 浏览器检查时 我看到document styleShe
  • Swift - 将 HTML 文本转换为属性字符串

    在我的一个模块中 我想使用 UILabel 将多语言 HTML 文本 英语和泰米尔语 显示为 NSAttributedString 如果文本是纯英文 我可以按照我的愿望显示它 但我的内容同时包含英语和泰米尔语字符 我该如何处理这种情况 如果
  • 删除 IE 10 兼容性视图中的蓝色边框

    如何删除或不显示每个带有图像的锚点中的边框链接 顺便说一下 浏览器设置是兼容模式 其他问题的答案不足以解决我的问题 我猜是因为它只适用于较低版本的 IE EDIT 我目前正在客户需要的地方创建自定义共享按钮 div a href img h

随机推荐

  • 扩展 prestashop web 服务资源

    我正在尝试延长carts多一个字段的资源应输出以下结果Cart getSummaryDetails称呼 我已经延长了CartCore类添加新参数和相应的方法 如下所示 class Cart extends CartCore protecte
  • MS Access 通过文本框而不是下拉列表搜索记录

    我对 MS Access 还很陌生 我正在尝试创建一个简单的表单 基本上将使用文本框而不是下拉框搜索特定记录 本质上 用户将能够输入 ID 号并检索一些其他相关信息 但是 我不希望用户能够向数据库添加任何新记录 我已经能够让表单看起来像我想
  • 使用 Javascript 转到本地 URL

    同样的问题here但我需要在 Firefox 中访问本地 URL 我尝试使用类似的代码 var url file E Test Test htm window location href url 但 id 不起作用 尝试去与window l
  • PHP PDO 缓存

    我一直在寻找这个问题的答案 但没有在任何地方找到 对 PDO prepare 的调用是否已缓存 或者我应该自己缓存结果 即如果我执行以下操作 function foo handle PDO prepare do stuff with the
  • SQL Server ORDER BY 日期和最后的空值

    我正在尝试按日期订购 我希望最近的日期排在最前面 这很简单 但是有许多记录为空 并且这些记录位于任何具有日期的记录之前 我尝试了一些方法但没有成功 ORDER BY ISNULL Next Contact Date 0 ORDER BY I
  • 更改 PreferenceActivity 文本颜色

    我想将 Android 应用程序的首选项屏幕的外观更改为深色文本颜色 我怎样才能做到这一点 我已经将背景更改为白色 我假设您使用一个 Activity 来扩展PreferenceActivity 您可以使用setTheme方法在您的首选项屏
  • 使用 web.config 允许服务器端包含在 HTML 文件中 (IIS)

    在IIS 7 5中 是否可以使用网络配置单独启用SSI处理具有以下内容的文件 html扩大 具体来说 我不想使用默认的 SSI 扩展 shtml Reason 我不想更改扩展名 这样做会导致搜索引擎结果中的链接损坏 另外 我这样做的动机是网
  • asp.net core 2.0中的机器密钥?

    我有相同的 asp net core 2 应用程序在 2 个不同的服务器上运行 但使用相同的数据库来存储用户等 问题是 如果我在一台服务器中创建并设置用户密码 则运行同一应用程序的另一台服务器将返回无效密码 反之亦然 几年前 我在使用 AS
  • 用于平铺列表视图的 WPF 工具包

    我需要创建格式良好的按钮图块 例如 Windows 8 起始页 是否有任何工具包可用于自定义 ListView 它可能支持平铺视图或网格视图 具有一些格式设置 并且可能有一些动画选项 我尝试创建自己的自定义列表视图 但这似乎是一项复杂的任务
  • 如何避免 super() 无限递归?

    我有这样的代码 class A object def init self self a 1 class B A def init self self b 2 super self class self init class C B def
  • 如何输入带密码的命令进行git pull?

    我想在一行中执行此命令 git pull my passphrase 怎么做 这并不完全是您所要求的 而是针对 http s 的 您可以将密码放在 netrc 文件中 Windows 上为 netrc 从那里它会被自动拾取 它将进入您的主文
  • 如何使用 jQuery Migrate 插件

    我正在使用 jquery 2 0 但还想使用 jQuery migrate 插件 以便我的网站可以在旧版浏览器上运行 然而 我一直没能成功地让它发挥作用 我的 html 标题部分有以下内容
  • 如何拦截具有标准 java 功能(无 AspectJ 等)的方法调用?

    我想拦截对某个类 MyClass 的所有方法调用 以便能够对某些 setter 调用做出反应 我尝试使用动态代理 但据我所知 这只适用于实现某些接口的类 但MyClass没有这样的接口 除了实现包装类之外 是否还有其他方法将所有调用委托给成
  • “列表”对象没有属性“查找”

    我知道这是一个基本问题 但我是 python 新手 不知道如何解决它 我有一个类似于下一个示例的列表 entities 1 IFCORGANIZATION Autodesk Revit 2014 ENU 5 IFCAPPLICATION 1
  • Android Https Web 服务通信 (SSL / TLS 1.2)

    在我的 Android 应用程序中 我必须与 https Web 服务进行通信并读取响应 我已经通知服务器配置了SSL with TLS 1 2 我使用以下示例代码来连接服务 https get 请求 但仅限运行的设备安卓5 0或以上可以成
  • 在Python中播放和控制mp3文件?

    首先 我是一名 Python 初学者 具有典型的面向对象知识的 C Java 背景 我确信要尝试使用 Python 来完成我当前正在做的工作 到目前为止我很喜欢它 我遇到的一个问题是找到一个好的 mp3 模块 我尝试过 TkSnack 它安
  • 如何以编程方式更新 UIView 的恒定高度约束?

    我有一个UIView我使用 Xcode Interface Builder 设置约束 现在我需要更新UIView以编程方式保持实例的高度常量 有一个函数就像myUIView updateConstraints 但我不知道如何使用它 从界面构
  • Symfony 注销处理程序

    我只是尝试了几个小时来弄清楚如何在注销操作后使闪存消息正常工作 安全 yml login pattern login security false secured area pattern form login check path che
  • 无法监听UIAxes的YLim属性

    MATLAB 提供了addlistener功能 监听器使我们能够跟踪对象属性的变化并对其采取行动 例如 我们可以创建一个非常简单的侦听器 当 YLim 的财产axes对象被改变 Example using axes ax axes addl
  • 句子间距[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 呈现句子之间应有的额外间距的最佳方式是什么 使用 X HTML CSS p Lorem ipsum Dolor sit amet p wider than word spacing 由于