우리를 최근에 나는 우리는 "CSS 컴파일"이라는 이름을 붙였습니다. 이것은 methodin이 대답 한 것과 같습니다. 우리의 컴파일 (PHP 백엔드)은 모든 모듈에 대해 하나의 컴파일 된 CSS 파일을 생성하므로 런타임에 단일 CSS 파일이로드됩니다. 이렇게하면 성능에 대해 걱정하지 않고 원하는만큼 많은 CSS 파일을 정의 할 수있는 자유가 생깁니다. 이를 위해 우리 프로젝트의 설정 파일 (예 : 로그인, 집 등 모듈 및 모든 모듈에로드 할 CSS 파일)에 module-CSS 파일 관계가 포함 된 배열 $moduleCssrelation
을 정의했습니다. 스타일 아키텍처의 핵심이기 때문에 결국 자세한 내용을 설명하십시오.
이것은 우리가 사용하는 기본 CSS 계획입니다 : - 스타일의 패턴/재사용 가능한 구성 요소를 지적하고보고 자세히 공부
- 모든 모듈은
- 헤더 섹션, 바닥 글 섹션과 왼쪽 메뉴가 모든 모듈에 필요합니다.
- 중앙에 일부 목록의 표 형식 표시 섹션이 있고 (일반적인 머리글, 바닥 글 및 왼쪽 메뉴는 그대로 유지하는) 많은 모듈이 있으며 사용자 세부 정보 페이지, 수업 세부 정보 페이지.
디자이너 팀이 단일 파일의 모든 스타일을 우리에게 제공했습니다. 그런 다음 이전 단계에서 연구 한 스타일 패턴에 따라 단일 CSS 파일을 여러 조각으로 조각화했습니다. 단지 목록 페이지에 나타나는 구성 요소에 대한 모든 스타일의 정의를 포함하는 왼쪽 메뉴 스타일
listings.css
, 머리글, 바닥 글을 포함하는
common.css
- 그래서, 우리는 같은 일부 파일을 만들었습니다.
details.css
세부 사항 페이지의 경우에만 필요하게 될 .detailsRedHeading
클래스가있는 경우 thedom이 언급 한 것처럼 여기에 정의하십시오.
추가 스타일 - 많은 모듈이 해당 스타일로 팝업해야하는 경우 또는 다른 파일에 스타일을 정의하는 대신 해당 스타일을 popups.css
안에 넣으십시오. 우리가 원하는만큼 많은 css 파일을 정의해야한다는 자유를 기억하십시오. 나중에 테마의 편의를 위해
내가 모든 장식 (색상, 배경 동안 1 개 파일에있는 모든 레이아웃 (위치, 크기 등)을 넣어 시도했습니다 "의 아이디어를 적용 적이없는
변경 , 등) 다른 "하지만 도움이된다면이 아키텍처에 추가 할 수 있습니다. common.css
을 common_layout.css
으로, common_design.css
으로, 다른 경우도 마찬가지입니다.
또한 가능한 최대 스타일 재사용을 수행하십시오. 이 같은 스타일 선언을 피하십시오 : -
.listingsBody
{
font-family:Trebuchet MS,Liberation Sans,DejaVu Sans,sans-serif;
font-size: 12px;
..
some listing page styles
..
}
.detailsBody
{
font-family:Trebuchet MS,Liberation Sans,DejaVu Sans,sans-serif;
font-size: 12px;
..
some details page styles
..
}
는 대신에이 사항을 가지고있다 -
.siteMediumFont
{
font-family:Trebuchet MS,Liberation Sans,DejaVu Sans,sans-serif;
font-size: 12px;
}
.detailsBody
{
..
some details page styles
..
}
.listingsBody
{
..
some listing page styles
..
}
나는 많은 디자이너들이이 작업을 수행 할 것을 보았다. 더 복잡한 경우에 이러한 습관은 나중에 일을 정말로 어렵게 만들 수 있습니다. 컴파일에
세부 사항 : - 우리는 CSS의 변경 사항을 적용을 완료 한 후에는
, 우리는 다음과 같은 작업을 수행 컴파일 코드 실행 -
$moduleCssrelation = array("class_details"=> array("details","popups"));
배열 $moduleCssrelation
트래버스와에서 컴파일 된 파일을 생성 모든 모듈에 대한 CSS 파일 이름의 내용. 예 : class_details
모듈에 파일 details.css
, popups.css
이 필요한 경우 class_details
에로드되는 common-details-popups.css
파일과이 두 css 파일을 필요로하는 다른 모듈을 만듭니다.