템플릿에서 CSS 스타일을 어떻게 재정의합니까?


21

Template Club X / Y / Z에서 무료 / 상업용 Joomla 템플릿을 사용할 때 내 CSS 스타일을 포함하는 가장 좋은 방법은 무엇입니까?


1
custom.css 스타일 시트를 추가하십시오. 템플릿이 자동으로 선택되지 않으면 head.php에 추가 할 수 있습니다. 일반적으로 경로는 다음과 같습니다. templates / templatename / tpls / blocks / head.php <link rel = "stylesheet"href = "/ templates / templatename / css / custom.css "type ="text / css "/>
Tony M

답변:


22

왜 CSS 재정의를 사용합니까?

사전 제작 된 Joomla 템플릿을 사용하는 경우 CSS 스타일을 기존 템플릿 스타일과 별도로 유지하는 것이 좋습니다.

  • 유지하기가 더 쉽습니다.
  • 템플릿을 업그레이드해도 변경 사항이 손실되지 않습니다
  • 수정 사항을 다른 템플릿이나 다른 사이트로 쉽게 복사 / 이동할 수 있습니다.

CSS 재정의는 어떻게 작동합니까?

CSS는이 문맥에서 "Cascading Style Sheets", "Cascading"을 의미합니다. 이는 하나 이상의 스타일 시트 규칙이 특정 HTML에 적용될 수 있기 때문에보다 일반적인 규칙에서 필요한 특정 규칙 ( 가장 구체적인 규칙이 선택됨) 또는 요소의 규칙 순서에 따라 (발견 된 마지막 규칙이 선택됨).

사용자 정의 CSS 파일이 기본 템플릿 CSS 파일 다음에 로드 되는 경우 필요에 따라 특정 요소를 재정의하기 위해 고유 한 스타일을 추가 할 수 있습니다 (아래에서 예외가 더 있습니다).

일반적인 사용법

Joomla <head>태그 에 사용자 정의 스타일 시트를로드 하기 위해 파일이 마지막으로로드되도록하기 위해 종료 태그 바로 전에 index.php템플릿 ( YOURDOMAIN.COM/templates/yourtemplate/index.php) 의 파일에 다음 코드를 추가 할 수 있습니다 </head>.

JHtml::_('stylesheet', JUri::root() . 'templates/' . $this->template . '/css/custom.css');

CSS 파일은 이름을 가질 수 있으며 / css / 하위 폴더에있을 필요는 없지만 더 깔끔합니다.

일반 <link>태그 를 추가하는 것도 가능 하지만 위에서 언급 한 옵션보다 유연성이 떨어집니다.

<link rel="stylesheet" href="/joomla//templates/mytemplate/css/custom.css" type="text/css" />

!중대한

일부 확장 프로그램은 CSS 스타일을로드 한 후 또는 스타일을 index.php 파일에 직접 추가하여 재정의를 재정의 할 수 있습니다. !important예를 들어, 스타일 에 추가 하면 이 문제를 해결할 수 있습니다 .h1{color:red!important;}

다른 프레임 워크에서의 사용

이제 재미있는 부분 : 많은 템플릿 프레임 워크는 사용자가 템플릿을 변경하려고 할 가능성이 있기 때문에 CSS 재정의를 포함하는 쉬운 방법을 추가합니다. 사용 된 방법 중 일부는 다음과 같습니다.

로켓 테마 갠트리 4

RocketTheme 템플릿은 Gantry Framework에서 제공하며, 사용자 정의 된 CSS 파일은 자동으로로드됩니다. CSS 파일은 /templates/yourtemplate/css/폴더에 있어야 하며 이름 은이어야 합니다 YOURTEMPLATEFOLDER-custom.css.

예 : 무료 Afterburner 2템플릿을 사용하는 경우 기본 템플릿 디렉토리는 /templates/rt_afterburner2/입니다. rt_afterburner-custom.css/ css / 하위 폴더에 (밑줄과 하이픈으로 가득 찬) 파일을 추가 하면 Gantry 프레임 워크에 의해 자동으로로드됩니다.

모양 5

Shape 5 템플릿은 템플릿 custom.css의 / css / 하위 디렉토리에 빈 파일 과 함께 제공 됩니다. 이 파일에 스타일을 추가하면 레이아웃에 포함됩니다.

개빅 프로

Gavick Pro 템플릿 overrides.css은 / css / 하위 디렉토리에 빈 파일 과 함께 제공 됩니다. 그러나이 파일은 기본적으로로드되지 않으므로 Override CSS템플릿 설정의 고급 설정 탭에서 활성화해야합니다 .

줌라 샤인

템플릿의 / css / 하위 폴더에 사용자 정의 CSS 파일을 만듭니다 (예 : custom.css에서 파일 이름 지정) Extensions -> Templates -> [template name] -> SEO & System -> Custom CSS/JS File(s).

T3 프레임 워크

T3 프레임 워크를 기반으로하는 템플릿은 템플릿 custom.css의 / css / 하위 폴더에 파일을 포함하거나 포함하지 않을 수 있지만 (없는 경우 간단히 생성) 파일이 있으면 다른 CSS 파일 다음에 파일이로드됩니다.

워프 프레임 워크

Warp Framework 기반 템플릿 custom.css은 / css / 하위 폴더에있는 파일을 자동으로로드합니다 . 추가하여 추가 CSS 파일을로드 할 수 있습니다

$this->warp->stylesheets->add('css:yourcssfile.css');

파일에 /layouts/template.config.php.


2
일반적인 사용법을 위해, 나는 이미 다른 대답에 대해 논쟁 했던 것 JHtml::_('stylesheet', 'path/to/file')보다는 사용 하는 것이 좋습니다 addStyleSheet:) 그 외에, 피의 좋은 대답. 사람들에게 확실히 도움이 될 것입니다
Lodder

@Lodder 감사합니다. 이 정보가 사람들에게 유용 할 수 있기를 바랍니다. 당신의 제안에 관해서는, 나는 토론을 읽었습니다. JHtml::_함께 사용할 수 $this->template있습니까?
johanpw

2
JHtml::_('stylesheet', JUri::root() . 'templates/' . $this->template . '/css/style.css');
Lodder

3
실제로 최신 로켓 테마는 LESS를 사용합니다. LESS 폴더에 template-custom.less라는 파일을 만들고 코드를 저장하기 만하면됩니다. 그러면 LESS가 제공하는 트릭을 즐길 수 있습니다. Warp 7을 사용하면 styles 폴더에 고유 한 "스타일"을 만들 수 있으며 실제로 custom 폴더에 THAT 폴더 (css 폴더 안에 있음)에 custom.css 파일을 붙일 수 있습니다. 이렇게하면 각 스타일에 고유 한 사용자 정의 CSS가있을 수 있습니다. 또한 템플릿 업그레이드에 견딜 수 있습니다. 기본 custom.css 파일을 사용하면 테마를 업그레이드 할 때마다 파일을 덮어 씁니다.
Brian Peat

1
큰 대답과 매우 유용합니다! 사용자 정의 CSS 파일을 제공하지 않는 템플릿 / 프레임 워크에 추가하려는 다른 옵션은 CSSConfig와 같은 타사 확장 프로그램을 사용하는 것입니다 extensions.joomla.org/extensions/style-a-design/templating/… 하는 것입니다. 이 정확한 목적을 위해 설계되었습니다.
Neil Robertson

7

Joomla 3.5 이상 (Protostar 템플릿)

Joomla 3.5 user.css부터는 파일을 만들어 다음 위치에 배치 할 수 있습니다.

템플릿 /protostar/css/user.css

주 : 파일 이름이 있어야user.css


프로토 스타 템플릿은 다음을 확인합니다.

  • 파일이 존재합니다
  • 파일 크기는 > 0입니다.

두 조건이 모두 충족되면 자동으로이 파일을 가져옵니다.

Github 의 풀 요청 보기


5

나선 프레임 워크 ( JoomShaper )

커스터마이징 워크 플로우를 용이하게하는 또 다른 Joomla 템플릿 프레임 워크.

Helix Framework 템플릿은 두 가지 편리한 방법으로 사용자 정의 스타일을 쉽게 추가 할 수있는 방법을 제공합니다.

  1. 백엔드의 템플릿 제어판에는 사용자 정의 CSS 필드가 있습니다. 여기에 CSS를 입력하면 페이지의 헤드 섹션에 스타일 요소로 추가되며 다른 외부 CSS 파일보다 우선합니다. 물론이 옵션은 CSS를 여러 줄로 작성하려는 경우 이상적인 방법이 아니므로 두 번째 방법이 있습니다.

  2. 다른 많은 템플릿 프레임 워크와 마찬가지로 Helix 는 자체 custom.css 파일을 생성하는 기능도 제공합니다. 간단히 만들고 템플릿의 css 폴더 안에 넣으십시오. 템플릿이 구문 분석되어 페이지의 헤드 섹션에 포함됩니다.


3

Johanpw는 자신의 질문에 대한 답변으로 특히 많은 상용 템플릿의 CSS 재정의와 관련하여 매우 훌륭한 작업을 수행했습니다.

여기에 2 센트 만 추가하고 싶습니다 ...

Johanpw가 강조한 것처럼 CSS 재정의를 만드는 것이 좋습니다. 사용자 정의 CSS는 업데이트 후에 반드시 삭제되거나 재정의되지 않는 단일 파일에 보관해야합니다.

이것은 모든 Joomla 확장에 대해 기억해야합니다. 모듈 또는 구성 요소의 핵심 CSS 파일을 변경하지 마십시오. 대신, 자신 만의 사용자 정의 template.css 파일을 작성하고 마지막으로로드 한 다음 모든 사용자 정의 스타일을 작성하십시오.

상업용 템플릿이 CSS 재정의를 추가하는 방법을 제공하지 않는 경우 다음과 같은 확장명을 사용할 수 있습니다. Add Custom CSS (이것은 정확하게 이것을 허용합니다). 사용자 정의 CSS 재정의 파일을 만들고 마지막으로로드하려면

내가 관리하는 사이트에서 자주 수행하는 또 다른 옵션은 템플릿 의 닫는 헤드 태그 바로 앞에 템플릿을 수정하고 custom.css 파일에 내 링크를 추가하는 입니다. 이것은 템플릿 업데이트가 도착했을 때 다루기 쉬운 작은 기억하기 쉬운 수정입니다.


3

갠트리 5 (RocketTheme)

Gantry 5 는 널리 사용되는 템플릿 프레임 워크의 최신 버전이며 많은 새로운 기능을 제공합니다.

CSS 재정의와 관련하여 많은 유연성과 옵션이 있습니다.

표준 Gantry 5 템플릿으로 출시 된 수소 테마 를 사용 하면 custom이라는 폴더를 제공합니다.

이 폴더는 사용자가 갠트리 프레임 워크 / 템플릿에 대한 사용자 정의 파일 / 재정의를 배치 할 수 있도록 제공됩니다 (템플릿 / html 폴더에 남아있는 Joomla 템플리트 재 지정과 혼동하지 마십시오). 거기에 custom.css 파일을 넣을 수 있습니다. 그런 다음 Gantry Template Administration Panel을 통해 템플릿 레이아웃을 사용자 정의 하고 Custom CSS / JS Atom Particle (새로운 갠트리 5 기능)을 사용하여 custom.css 를 템플릿에 추가 할 수 있습니다 . 갠트리 5는 소위 스트림 링크 도 제공 합니다 custom.css 파일을 쉽게 연결할 수 (바로 가기와 같은)도 제공합니다.

따라서 Atom 입자 내부에서 다음을 사용하여 연결합니다.

gantry-theme://custom/thing.css

gantry-theme://바로 가기는 항상 현재 갠트리 템플릿 폴더를 참조합니다.

이 방법을 사용하면 gantry5 템플릿의 특정 템플릿 외곽선에 custom.css를 효율적으로 추가 할 수 있습니다.

전체 갠트리 템플릿에 대해 전 세계적으로 작동하는 두 번째 방법은 다음과 같이 custom.scss 파일 을 추가하는 것입니다 .

template_directory/custom/scss/custom.scss

이렇게하면 gantry5는 항상이 scss 파일을로드하고 컴파일하며 적용한 CSS 규칙은 템플릿의 기본 규칙을 재정의합니다.

scss 파일 내부에서 SCSS를 사용하거나 단순히 CSS를 사용하면 완벽하게 괜찮습니다. 컴파일러는 두 가지를 모두 컴파일 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.