使用带有像素后备的 rems

2023-12-12

我正在研究移动优先框架。该项目有广泛的需求,需要满足不同地点的大量浏览器和设备。 我的主要目标地点之一是印度,那里的浏览器和设备使用趋势与英国或美​​国有很大不同。

印度浏览器使用情况http://gs.statcounter.com/#all-browser-IN-monthly-201301-201312-bar

英国浏览器使用情况http://gs.statcounter.com/#all-browser-GB-monthly-201301-201312-bar

我需要针对印度地区的浏览器是 Opera、Android、uc 浏览器和诺基亚,但每个浏览器都有自己的小怪癖。因此,设备的范围有所不同

Opera mini - 不支持 rems Android(chrome之前)v2-v4在rems和ems上都有问题http://www.quirksmode.org/css/units-values/mobile.html

-- 我是否正确地假设更新版本的 Android 预装了 Chrome 和操作系统网络浏览器?

理想情况下,我希望使用 rems,因为它消除了嵌套内容继承其父元素的 em 比例的问题。然而基于研究http://www.quirksmode.org,我需要有一个后退设置。

所以我需要声明一个 px 值。

例如,我可以这样做:

h1 {font-size: 24px; line-height: 30px; margin-bottom: 10px; font-size: 1.846rem; line-height: 2.308rem; margin-bottom: 0.769rem} /* 24px / 30px / 10px */

或者我必须做这样的事情吗?

h1 {font-size: 24px; line-height: 30px; margin-bottom: 10px}
h1 {font-size: 1.846rem; line-height: 2.308rem; margin-bottom: 0.769rem} /* 24px / 30px / 10px */

或者还有其他更好的吗?

我见过一些js的poly-fills,比如https://github.com/chuckcarpenter/REM-unit-polyfill,但可能存在未启用 JavaScript 的情况,因此这不起作用。

此外,我尝试关注性能,因此我希望将请求数量保持在最低限度,并尽可能保持 CSS 干净。

Thanks


您的两个样式声明都可以正常工作。 CSS 以级联方式呈现代码,这意味着如果一个值在另一个值之后声明,则将使用后者。如果浏览器可以渲染px但无法渲染rem, the rem值将被忽略。如果浏览器可以渲染两者px and rem,将使用两者中的后者:

h1 {
    font-size: 12px; /* 1. Font size set to 12px */
    font-size: 1rem; /* 2. Font size set to 1rem, overriding previous value */
}

在这个例子中,rem将在支持该单元的浏览器上使用,并且px将用于那些不这样做的人。

h1 {
    font-size: 1rem; /* 1. Font size set to 1rem */
    font-size: 12px; /* 2. Font size set to 12px, overriding previous value */
}

在这个例子中,px将在支持的两种浏览器上使用rem以及没有的浏览器。

我可以用吗...将使您更好地了解哪些浏览器支持该单元。


至于性能,CSS 文件中包含的每个字符相当于 1 个字节。样式表中包含的字节越多,浏览器下载它所需的时间就越长。所以当然,添加px价值观并肩rem值最终会增加下载时间,但大多数时候这是可以忽略不计的。


至于Android设备是否与Chrome捆绑在一起:不,事实并非如此。这完全取决于制造商。

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

使用带有像素后备的 rems 的相关文章

  • 在 Chrome 中,应用于包含图像的锚点的轮廓高度不正确

    对于我正在开发的网站 我希望当链接聚焦 悬停 活动时 链接周围会出现虚线轮廓 我希望文本和图像链接发生这种情况 我遇到的问题是 虽然我的代码在 Firefox 和 IE 中运行良好 但在 Chrome 7 0 517 41 中 虚线轮廓与我
  • 如何使用div绘制曲线?

    我需要使用 CSS 绘制两条曲线 我尝试过组装一些divs 使用CSSborder radius绘制弧形面板 但结果很糟糕 还有更好的算术吗 正如我之前在评论中提到的 请不要使用CSS用于实现复杂的曲线和形状 虽然仍然可以使用 CSS 来实
  • CSS3 中均匀间隔的导航链接占据 ul 的整个宽度

    我想创建一个水平导航链接列表 其中导航链接均匀分布并占据封闭容器的整个宽度 ul 导航链接可以有不同的宽度 第一个和最后一个链接应与链接的开头和结尾对齐 ul 分别 意味着链接不居中 如下所示 left side right side li
  • CSS 变换源不能与 translate() 一起使用

    我想将 div 从中心点移开 但似乎translate 不关心变换原点是什么 并使用元素的左上角来移动它 这是一个测试来证实这一点 div class items div class item 1 style width 100px hei
  • 如何在 HTML 中制作三角形?

    我想使用基本的 CSS 在 HTML 页面中制作三角形 我正在使用需要时间加载的三角形图片 因此 我想减少页面的加载时间 HTML 不可能 但 CSS 可以 例子 div class div
  • 交替 div 使图像向左(偶数)或向右(奇数)

    我正在尝试更好地排列图像 而不仅仅是一列中的图像 请参阅附件中的示例 每篇文章的图像可以位于左侧和右侧 这是我的代码 HTML section class content list page section
  • 如何实现右边缘倾斜的 div? [复制]

    这个问题在这里已经有答案了 我几天来一直在寻找使 div 的右边缘倾斜 45 度的代码 这是我特别想要得到的图像示例 似乎有很多 倾斜边缘 div 的示例 但我找不到任何具有特定右侧倾斜的示例 我花了很多时间试图改变其他人的代码 但结果却一
  • CSS:多属性选择器

    我想设置 电子邮件 和 密码 类型的表单输入样式 但不设置其他任何样式 我正在想象类似以下的事情 input type email type password 然而 属性选择器的工作方式似乎将其解释为 输入 其中类型同时是 电子邮件 and
  • Firefox 忽略背景大小的 css

    尝试使用背景大小 CSS 规则缩小图像 但 Firefox 3 5 似乎会忽略该规则 CSS privatejoker background aqua url styles images home privatejoker png no r
  • 拖放区缩略图宽度图像大小

    如何更改上传图像的缩略图大小 我在我的javascript中尝试过thumbnailWidth 350 但是这不会增加缩略图大小 而缩略图只是看起来放大了 如何操作图像缩略图大小 HTML section section
  • CSS 选择器用于选择最后两个子项,而不知道列表中有多少项

    我有一个无序列表 它有时包含 4 5 6 或 7 个项目 我想知道是否有一个 CSS 选择器来选择最后两项 我意识到 last child会给我最后一件物品 是否有 倒数第二个孩子 选择器 或者 孩子数量 2 选择器 HTML ul li
  • 使用溢出时无法隐藏滚动条:auto

    我有这个CSS div background color red position relative height 414px overflow auto width 902px margin 0px auto 我尝试过overflow y
  • 通过 JavaScript 检测浏览器换行

    我需要 javascript 来检测每个浏览器包装的文本行并将其包装到 span class line 我读过一些关于测量每个单词的 y 轴的文章 但还没有看到可靠的解决方案 这是我到目前为止所拥有的 看到它Jsfiddle http js
  • 如何使用 javascript 或 jquery 生成 CSS 路径?

    关于如何生成元素的 CSS 路径有什么建议吗 CSS 路径是识别特定元素所需的 css 选择器的路径 例如 如果我的 html 是 div div class bar ul li 1 li li 2 li li span class sel
  • 我可以在 CSS 类名中使用驼峰命名法吗

    我想命名一个 CSS 类并调用它imgSuper 我可以在 CSS 类中使用驼峰命名法吗 从技术上讲是可以的 但这是有风险的 因为虽然 CSS 语法大多不区分大小写 但在某些浏览器中 在某些条件下 类名被视为区分大小写 因为规范没有指定浏览
  • 如何动态打破 FlexBox 列以开始新列

    I have a dynamic list of items containing text placed column wise which I need to break after every 5th item 我只有两个限制 每个
  • 垂直对齐复选框标签? [复制]

    这个问题在这里已经有答案了 我有这样的复选框
  • 更改文本输入标签中文本的大小?

    我有一个很大的文本输入框 但我无法更改字体大小
  • 带有相对路径的 LESS CSS 背景

    我在使用 LESS 作为我的网站的样式表时遇到了问题 就我个人而言 我宁愿在CSS中使用相对路径而不是绝对路径 这只是我的习惯 但是现在当我使用带有导入功能的LESS时 我遇到了如下所示的问题 我有一个main less根文件夹中的文件 i
  • CSS 是否有不等于选择器?

    CSS中有类似 不等于 的东西吗 例如 我有以下代码 input 但对于某些输入 我需要将其作废 我想通过将类 reset 添加到输入标签来做到这一点 例如

随机推荐

  • 自定义 python 数据库记录器,具有循环导入

    我正在尝试创建自己的日志处理程序来记录到数据库模型 它扩展了logging Handler import logging from logging import Handler from logger models import Searc
  • 寻找如何使用 Google Sheets API FilterCriteria 对象的示例

    我想了解如何构建AddFilterViewRequest在 Google 表格 API 中 然而 我似乎无法在任何编程语言中找到任何很好的示例来演示它的使用方式 具体来说 我想了解FilterCriteria对象 以及我需要设置的内容hid
  • 在配备 Android ICS 的 Galaxy note 1 上,EditText 提示不会以阿拉伯语显示

    我有一个阿拉伯语提示 我想在对话框中使用的 EditText 中设置 它对于许多设备都可以正常工作 除了具有 Android ICS 的 Galaxy note 1 Note 1 我将手机语言转换为阿拉伯语 因此它显示了阿拉伯语提示 2 编
  • 在 Android 应用程序中动态添加单选按钮

    我需要动态添加单选按钮 单选按钮可以是 3 4 5 或 6 它会水平添加 一行最多包含 3 个单选按钮 如果超过 3 个 那么它将位于单选按钮上方行的下方 如网格视图中所示 我的单选按钮代码如下 但它在一行中显示所有单选按钮 这意味着它隐藏
  • 使用 gradle 任务创建可执行 jar 后无法找到或加载主类

    我使用 gluon 插件创建了一个新的单视图项目 并且没有更改其文件中的任何内容 如果我使用 gradle 任务application gt run效果很好 但如果我使用任务build gt jar它在下面创建了罐子SingleViewPr
  • 使用 FPDF PHP 时出现奇怪的字符?

    我在使用 FPDF 库生成 pdf 文件时得到此输出 PDF 1 3 3 0 obj endobj 4 0 obj 流 x U n 0 endobj 5 0 obj endobj 2 0 obj gt XObject gt gt gt en
  • 如何读取cakephp视图文件中的cookie值

    在此我将 cookie 值写入控制器文件中 我想读取视图文件中的 cookie 值 而不是如何可能 您必须在控制器中读取它并设置该值以使其可用于视图 this gt set myValue this gt Cookie gt read co
  • Azure SQL 使用 PowerShell 和 ServicePrincipal 为 AD 用户授予访问权限

    我尝试为 Azure SQL Server 创建用户 我想使用 AzureAD 用户 这是代码 accessToken az account get access token resource https database windows
  • 我需要使用 VBA 将数据从 Excel 导入到 SQL Server

    我正在尝试将数据从我的 PC 上的另一个 Excel 工作簿导入到 SQL Server 我尝试使用这段代码 但它不起作用 Sub insertion Dim conn As ADODB Connection Dim rs As ADODB
  • 以二进制形式设置权限

    我在学校看到一个使用二进制字符串设置权限的系统 假设 101001 41 So 1可以是第1页的权限 2 可以是第2页的权限 4 可以是第3页的权限 8可以是第4页的权限 16可以是第5页的权限 32可以是第6页的权限 假设我得到了上面的二
  • 阿卡。安卓。 NoSuchMethodException:

    当我在 Android 上运行使用 Akka 的应用程序时 我收到以下异常 04 29 16 13 06 235 E AndroidRuntime 8968 java lang RuntimeException Unable to star
  • 仅从字符串中提取数字

    据说我有一个包含以下内容的字符串 hello 14 12 现在我只想提取数字 并在两个变量中有两个单独的值 如下所示 first num值应该是int 即first num 14 第二个变量应该存储冒号后面的数字 即 Second num
  • 如何在 Swift 中制作可设计的 UIImage

    我是初学者 我想制作一个 swift 文件 其中包含制作可设计 UIImage 的代码 因此我不会通过编码来编辑 UI 元素显示 只需在界面构建器中将此 swift 文件分配给 UI 类即可 我可以在 UIButton 中做类似的事情 例如
  • 每个key必须是一个数字字符串;得到未定义的量角器

    我正在尝试从 json 文件读取数据 但遇到了一些问题 如何将 json 文件中的项目获取到单个项目 我的 json 文件 UserName email protected Password tests123 我的方法 element by
  • 无法从 http 端点消费

    下面给出了我的路线 我正在尝试使用 HTTP 组件交换数据 URI 包含提交数据并获取响应应该获取数据 但它不起作用
  • 如何减去年份?

    我在 R 中有一个约会 例如 dt as Date 2010 03 17 我想从此日期减去 2 年 而不用担心闰年和此类问题 得到as Date 2008 03 17 我该怎么做呢 With lubridate library lubrid
  • 如何使用 Notepad++ Compare 作为 git bash/命令行中的 diff 工具?

    有什么方法可以更改 gitbash 中的默认 diff 工具吗 这篇文章似乎表明这是可能的 但他们没有提供命令行示例 关联 从命令行运行 NotePad 并使用比较插件显示比较结果 由于 Notepad 的官方 diff 插件似乎是uph0
  • Drools 6.4 KieScanner:如何在 Maven 中创建和添加带有规则的 Jar?

    我是 Drools 和 Maven 的初学者 我面临着使用 KieScanner 加载规则的问题 该项目的目标是能够在永久 KieSession 中动态加载规则 我想知道是否可以使用 KieFileSystem 管理规则 不确定是否可以在不
  • 如何解决Odoo中不存在列res_partner.

    例如 reonp 很好地添加到了模型中 但是当我尝试添加 gradjanin 时 Odoo 10 会引发错误 我试图重新启动服务器 py class komPartnerrReon models Model inherit res part
  • 使用带有像素后备的 rems

    我正在研究移动优先框架 该项目有广泛的需求 需要满足不同地点的大量浏览器和设备 我的主要目标地点之一是印度 那里的浏览器和设备使用趋势与英国或美 国有很大不同 印度浏览器使用情况http gs statcounter com all bro