【问题标题】:converting style1.css, style2.css ... and put the content into <style>...</style>转换 style1.css, style2.css ... 并将内容放入 <style>...</style>
【发布时间】:2013-08-03 10:56:00
【问题描述】:

假设我有: css/style1.css css/style2.css... 等等

html 是这样的:

<html>
<head>
<link ... src="css/style1.css">
<link ... src="css/style2.css">
</head>
<body>...</body>
</html>

我想把css的所有内容都读一遍,做成这样:

<html>
<head>
<style>...(all css styles go here)</style>
</head>
<body>...</body>
</html>

读取 css 并将其放入很容易(即使用 php 的 file_get_contents),但如果 css 包含 url (url(../images/something.png)) 或 @import 则很难。

我知道有一些工具,比如 minify css (https://github.com/mrclay/minify) 可以读取多个 css 并将它们组合成一个大的,但仍然不是我想要的(我想要的是所有样式都必须在里面

那么有什么工具/脚本可以轻松做到这一点吗?

【问题讨论】:

  • 我假设你没有办法清理相对资产路径和导入语句的文件?这确实使事情复杂化了。
  • 听起来您已经有了自己的工具:一种用于合并文件,另一种用于获取内容并按照您的需要将它们放入文档中。有什么东西阻止你一起使用它们吗?
  • 为什么要这样做?如果是为了解决缓存问题,有betterways。缓存很好,你不应该破坏它。

标签: php css minify


【解决方案1】:

这应该可行:

<html>
<head>
<style>
    @import url('css/style1.css');
    @import url('css/style2.css');
</style>
</head>
<body>...</body>
</html>

【讨论】:

  • 不是我想要的。确切的内容必须在 中,而不仅仅是像 @import 这样的一些链接
【解决方案2】:

请试试这个

<style type="text/css">
  @import url("style1.css");
  @import url "style2.css";
</style> 

<style type="text/css">
  @import url("style1.css");
  p { color : #f00; }
</style> 

http://webdesign.about.com/cs/css/qt/tipcssatimport.htm

制作mainCSS文件并将下面的代码粘贴到main css文件中

@import url('style1.css');
@import url('style2.css');
@import url('style3.css');
@import url('style4.css');

在源代码下方添加head

<link rel="stylesheet" type="text/css" src="main.css"></link>

【讨论】:

  • 我认为这与他的问题无关。如果我没记错的话,他想获取与&lt;link&gt; 标签链接的两个.css 文件的内容,并且他想获取这些文件的内容并将它们作为嵌入样式放置在&lt;style&gt; 标签中代替两个&lt;link&gt; 元素直接在他的标记上。
  • 我不能使用@import 我真正想要的是从css文件中获取所有内容并将它们解析为
【解决方案3】:

你正在使用 php,所以你可以做这样的事情来获取你的 css。

<html>
 <head>
  <style type='text/css'>
   <?php
     $css = file_get_contents('path/to/style1.css'); //get your css contents
     echo $css; //paste your css
   ?>
  </style>      
 </head>
</html>

【讨论】:

  • 请仔细阅读我的问题。我已经知道如何使用 file_get_contents。只是你不能在不修改url的情况下直接回显css。 IE。 url(../images/images.png) 或@import
猜你喜欢
  • 2016-10-11
  • 2011-05-13
  • 1970-01-01
  • 2020-10-09
  • 1970-01-01
  • 2014-04-01
  • 1970-01-01
  • 2018-01-29
  • 1970-01-01
相关资源
最近更新 更多