레일 3.2를 사용하여 나침반 레일. 나침반 : 왜 작동하려면 이중 가져 오기를 수행해야합니까?
I가 다음 파일을screen.css.scss
@import "compass";
application.css.scss
/*
*= require_self
*= require_tree .
*/
@import "screen";
.content {
background-color: #eee;
padding: 20px;
margin: 0 -20px;
@include border-radius(6px, 6px);
@include box-shadow(0,0,0,.15);
}
application.html.erb (레이아웃, 관련 선) :
<%= stylesheet_link_tag "application", :media => "all" %>
내 응용 프로그램 레이아웃에 적합합니다.
다음으로, home.css.scss이 나는 스타일 (홈)에 노력하고있어 특정 페이지 : 최대한 빨리 @import "compass/css3/text-shadow";
드롭으로
@import url(http://fonts.googleapis.com/css?family=Oleo+Script+Swash+Caps:700);
@import "compass/css3/text-shadow"; <<-- This is the line I don't understand
.welcome {
text-align: center;
h1 {
font-family: 'Oleo Script Swash Caps', cursive;
font-weight: 700;
font-size: 110pt;
line-height: 130px;
@include single-text-shadow;
}
}
, Undefined mixin 'single-text-shadow'.
같은 내 코드 휴식을 텍스트 그림자 가져 오기 선을 application.css.css로 옮기면 문제가 발생합니다.
제 질문은 입니까? 저는 screen.css.scss를 통해 application.css.css에 전체 나침반 프레임 워크를 포함 시켰습니다. 그 파일이 제대로 작동하는지 알기 때문에 그 파일이로드되었습니다. 그렇다면 왜 이렇게 두 번 포함해야합니까?
하지만 렌더링/색인을하면 내 전체 응용 프로그램 CSS가'application.css.scss '를 통해 렌더링됩니다. 즉, 이미 페이지에 있습니다. 그리고'application.css.scss'는 이미 Compass를 가져옵니다. 그래서, 왜 compass가'home.css.scss'에 사용 가능하지 않습니까? 나는'home'이'application'을 가져 오지 않는다는 것을 이해합니다. 그러나 그들은 동시에 같은 페이지에 존재합니다 ... 아무것도 계산하지 않습니까? – ezuk
전처리는 * HTML이 항상 렌더링되기 전에 발생하므로 아무 것도 계산되지 않습니다. 색인으로 정리되면 Sass는 이미 처리되고 나침반은 더 이상 작동하지 않습니다. –
고마워요! 나는 그것을 얻는다라고 생각한다. 당신의 대답을 수락했습니다. – ezuk