我有一个使用Bootstrap的网站。从技术上讲,我现在正在使用Bootstrap 4。我想在页面的公开部分利用加速移动页面(AMP)。但是,我有几个错误,我似乎无法动摇。这让我想知道,我甚至可以使用Bootstrap加速移动页面吗?
我甚至可以在加速移动页面中使用JavaScript吗? Bootstrap在手机上有汉堡包菜单的JavaScript。然而,当我运行验证器时,我看到如下错误:
The attribute 'href' in tag 'link rel=stylesheet for fonts' is set to the invalid value 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css'.
The attribute 'rel' in tag 'link rel=' is set to the invalid value
The tag 'script' is disallowed except in specific forms.
所以,回到我的问题。是否可以使用加速移动页面的Bootstrap 4站点?
谢谢!
答案 0 :(得分:10)
目前你不能在AMP中使用bootstrap,因为它会插入大量不必要的CSS而AMP会针对性能进行优化,但你可以在AMP HTML中使用font-awesome,方法如下:
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet">
请参阅github上的原始问题:https://github.com/ampproject/amphtml/issues/2413
答案 1 :(得分:5)
取消选中不必要的属性并将其导出。它必须小于50kb。删除所有“!important”规则,并将其作为内联css放在您的网站中。
答案 2 :(得分:4)
我也想知道这一点。在AMP项目的github页面上,它说明了
通过限制HTML,CSS和JavaScript的某些部分,它实现了可靠的性能。这些限制是使用AMP HTML附带的验证程序强制执行的。为了弥补这些限制,AMP HTML为基本HTML之外的丰富内容定义了一组自定义元素。
所以你不能像以前那样使用自定义JS。相反,您必须以AMP方式构建页面并使用它们指定的自定义元素。
答案 3 :(得分:2)
为了摆脱作者CSS最大尺寸的错误,当您想同时使用.
和AMP
时,您还可以执行以下步骤:
Bootstrap
entire.css
purifycss entire.css yourpage.html --min --info --out minified.css
小于50k,那么您可以将此文件的内容放在minified.css
修改强>
不幸的是,有一个难以解决的问题。 <style amp-custom>
Bootstrap
使用了!important
关键字,受AMP
限制。当您使用AMP validator
下方的自定义CSS
时,50kb
会首先显示此错误。
答案 4 :(得分:0)
根据AMP规范,您只能使用最大总容量为50kb的内联css。如果这些组件不依赖于bootstrap.js,你可以使用bootstrap css和AMP组件,因为AMP dosent允许第三方JS。
另外,您需要删除引导程序css中使用的!important
,因为AMP限制在内联css中使用!important
。
答案 5 :(得分:0)
我知道这个问题很老,但最近(在 2021 年),我发现了 BootAMP https://www.jssaints.com/bootamp(用于 AMP HTML 的类似 Bootstrap 的 CSS 框架)。
使用它,可以很容易地通过从 Bootstrap 迁移到 BootAMP 来添加 AMP HTML 支持 https://www.jssaints.com/bootamp/docs/introduction
他们还提供了一些现成的 AMP-HTML 模板 https://www.jssaints.com/bootamp/boilerplate