Rails 2.0引入了css和javascript的合并缓存机制。比方说,使用下面的代码,可以将stylesheets下的所有css文件合并为名为all.css的样式文件,并缓存下来:
<%= stylesheet_link_tag :all, :cache => true %>
合并的好处是,只需一次HTTP请求,就把站点需要的css都下载至客户端了。
但由于css的就近覆盖原则,这种默认的合并会带来问题。假设stylesheets目录下有两个css文件,一个为style.css,另一个为rating.css,合并后rating.css的样式在前,style.css的样式在后(按文件名排列),这样就有可能会发生rating.css中的样式覆盖掉style.css中的样式的情况,而这可能不是设计师设想的效果。
解决这个问题的方法很简单:按设计需要显示指定要合并的css的文件名称,如:
<%= stylesheet_link_tag ’style’, ‘rating’, :cache => ‘recipe’ %>
合并后的文件名由:cache的参数值决定。上例中合并后的css文件名为recipe.css。
这样做还带来一个额外的好处:stylesheets下实际不使用的css文件不会被合并,减少浪费。
来源:
http://blog.ashchan.com/archive/2007/12/15/problem-of-stylesheet_link_tag-all-cache-true/
分享到:
- 2007-12-17 16:38
- 浏览 2601
- 评论(0)
- 论坛回复 / 浏览 (0 / 2539)
- 查看更多
相关推荐
<xsl:when test="testng:isFilterSelected('FAIL') = 'true'"> .testMethodStatusFAIL { background-color: #FFBBBB; } </xsl:when> <xsl:otherwise> .testMethodStatusFAIL { background-color: #FFBBBB;...
安装gem install number_to_indian_currency使用捆绑器gem 'number_to_indian_currency'将以下行添加到布局stylesheet_link_tag 'rupees'用法示例number_to_indian_currency(2000) => "Rs.2,000"number_to_indian_...
<link rel="stylesheet" type="text/css" href="styles.css"> --> <style type="text/css"> </style> </head> <body > <div style="position:absolute; width:100%; height:100%; z-index:-1;background...
python3 css_stylesheet_preview_generator.py stylesheet.css -o preview.html # # verbose mode python3 css_stylesheet_preview_generator.py stylesheet.css -v -o preview.html 如果未指定输出文件,则将HTML...
=javascript_include_tag("jquery-1.3.2", "foo", :cache => "all") {|text| Packr.pack(text, :base62 => true) } %> 哇! 这块疯狂是什么? 为什么,这是允许您做任何您想做的事的扩展。 在这个例子中,我们使用来...
<link href="css/flexigrid.css" rel="stylesheet" type="text/css"> <script src="js/jquery.min.js"></script> <script src="js/flexigrid.js"></script> <table id="flex1" width="700px" height="300px" ...
.then(response => response.json()) .then(responseJson => { this.setState({ arr: responseJson.RESULT.newsList }); }) .catch(error => { console.warn(error); }); } render() { return ( <View> ...
<%= stylesheet_link_tag 'scaffold', 'book' %> </head> <body> <p style="color:green"><%= flash[:notice] %></p> <%= yield %> </body> </html> ``` 然后,在`index`视图中展示书籍列表,并提供编辑、删除等...
html do head do link :rel => 'stylesheet' , :href => 'style.css' script :src => 'jquery.js' end body :id => :frontpage do h1 'Hello World' , :class => :main endend句法1.标签和属性有四种基本形式: ...
<link rel="Stylesheet" href="master.css" type="text/css" /> <head runat="server"> <title>无标题页</title> </head> <body> <form id="form1" runat="server"> <div> <div class="admindiv">管理员登录...
针对于xml个人简历,附有xsl文档代码:<?xml version="1.0" encoding="gb2312"?> <xsl:stylesheet version="1.0" xmlns:xsl=...<title><xsl:value-of select="简历/个人简历/基本信息/姓名"/>XX的个人简历</title>
摘要: 此代码效果:超出首屏范围,即会出现TOP按钮,否则自动隐藏。 下载附件,放到网站的根目录,...3 <LINK rel=stylesheet type=text/css href="css/lrtk.css"> 4 <SCRIPT type=text/javascript>goTopEx();</SCRIPT>
React本机门户 简化的门户实现 :hollow_red_circle: React本机 :hollow_red_circle: 。特征多门户处理。 多门户网站主机处理。...const BasicScreen = ( ) => { return ( < View xss=removed> < View
:black_small_square: :black_small_square: :black_small_square: :black_small_square: :black_medium_square: 特征: ... link rel = "stylesheet" href = "path/to/easygrid.css" > 4-设置H
<link rel="stylesheet" type="text/css" href="css/flexigrid.css" /> <script type="text/javascript" src="jquery-1.2.3.pack.js"></script> <script type="text/javascript" src="flexigrid.js"></script> ...
readMay )import Calc ( calculate )stylesheet :: MonadWidget t m => String -> m ()stylesheet s = elAttr " link " ( Map. fromList [( " rel " , " stylesheet " ), ( " href " , s)]) $ return ()scri
<a href="{link}"> <xsl:value-of select="name"/> </a> <xsl:if test="subitem"> <ul class="submenu"> <xsl:apply-templates select="subitem"/> </ul> </xsl:if> </li> </xsl:template> <xsl:...
文档头部信息`<head>`中的`<title>`标签用于设置窗口标题,`<link>`标签则用于链接外部CSS文件,例如`<link rel=”stylesheet” href=”mystyle01.css” type=”text/css”>`。`<style>`标签则用于定义内部样式表,`...
<link href="css/style.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" charset="utf-8" src="includes/editer/kindeditor.js"></script> <script language="javascript"> KE.show({...
</xsl:stylesheet> ``` #### 四、命名空间 **命名空间** 是为了防止不同 XML 文档之间出现元素名或属性名的冲突。每个命名空间都通过一个唯一的 URI 来标识,例如 `xmlns:xsl=...