【问题标题】:Display HTML element only in text browsers?仅在文本浏览器中显示 HTML 元素?
【发布时间】:2013-12-13 16:22:21
【问题描述】:

我的布局在普通浏览器中看起来不错,但在链接和 lynx 中看起来像是一大堆乱七八糟的文本。我想在文本浏览器的部分之间添加<hr><br>,但我不希望它们干扰普通浏览器中的 CSS 布局。我尝试在 CSS 中设置 hr {display: none;},但它也将其隐藏在文本浏览器中。

【问题讨论】:

  • 文本浏览器应用CSS? 震惊。
  • 尝试使用 来指定css,该css仅对使用固定间距的媒体显示br和hr字符网格。
  • @kawashita86 效果很好,您应该为此添加答案
  • 谢谢,我已按照您的建议添加了答案。 :)

标签: html css browser lynx


【解决方案1】:

2016 年 12 月 21 日更新: tty 将被弃用(以及许多其他媒体类型,您可以在此处查看https://drafts.csswg.org/mediaqueries/#media-types)并应替换为媒体功能的组合,这是一种比媒体类型更细粒度的测试方法,测试单个,用户代理或显示设备的特定功能。 对于定位文本浏览器,您可以结合使用grid 加上monochrome 功能。

原始答案:

正如 Paul 所说,您应该使用媒体查询让浏览器选择更适合设备/浏览器的 css。 对于文本浏览器,例如 lynx 和链接,您应该使用以下媒体查询:

tty

这是适合使用固定间距字符网格的媒体的格式。

要针对 CSS 规则,您可以导入带有 <link> 标记的 css 文件,指定媒体如下:

<link rel='stylesheet' media='tty' href='lynx.css' />

或通过使用以下语法在 css 文件中定义媒体:

@media tty {
    my-lynx-css-rule {
        ...
    }
}

有关可用媒体查询的详细说明,请查看以下页面: http://cssmediaqueries.com/what-are-css-media-queries.html

【讨论】:

猜你喜欢
  • 2019-06-03
  • 1970-01-01
  • 2017-09-16
  • 1970-01-01
  • 2017-12-23
  • 2013-12-26
  • 2013-01-04
  • 1970-01-01
  • 2015-03-19
相关资源
最近更新 更多