이 기사는 이 시리즈의 이전 기사와 매우 유사하지만 이번에는 "빌드 없음" 프로젝트 또는 "빌드"가 필요한 Ruby on Rails 애플리케이션에 사용할 수 있는 새로 생성된 우수한 CSS 프레임워크 CSS Zero를 사용할 것입니다. .
CSS Zero 프레임워크는 완전히 클래스가 없거나 가벼운 클래스 없는 프레임워크를 목표로 하지 않는다는 점에 유의해야 합니다. 이 문서에서 제안된 수정 사항은 테스트 목적으로만 사용되며 클래스를 추가하지 않고 이 튜토리얼의 HTML 페이지에 있는 모든 요소의 스타일을 지정하도록 설계되었습니다.
결과적으로 일부 HTML 요소의 형식은 CSS Zero 프레임워크에서 권장하는 스타일, 디자인, 레이아웃 및 동작과 일치하지 않을 수 있습니다. CSS Zero 프레임워크에서 기대할 수 있는 사항을 보려면 CSS Zero 룩북([여기에 룩북 링크 추가])을 방문하세요. 클래스 없는 프레임워크로 작동하는 모습을 보려면 아래 단계를 따르세요.
새 Rails 앱 만들기
-
rails new
명령 앞의time
은 명령 실행의 총 시간을 표시하는 데 사용됩니다. 다음 예에서는 47초가 걸렸습니다.
<code>$ rails -v Rails 8.0.0 $ time rails new classless-css-zero ... real 0m47.500s user 0m33.052s sys 0m4.249s</code>
Rails 8은 "빌드가 필요하지 않음" 철학을 기반으로 기본적으로 Propshaft를 리소스 파이프라인 라이브러리로 사용하고 Importmap을 JavaScript 라이브러리로 사용합니다. Importmap은 JavaScript 처리를 수행하지 않습니다.
VSCode 또는 선호하는 편집기를 사용하여 프로젝트를 엽니다
<code>$ cd classless-css-zero && code .</code>
HTML 요소의 스타일을 볼 수 있는 페이지 만들기
이 페이지는 이 시리즈 첫 번째 기사의 '일반 단계' 섹션에 있습니다.
프로젝트에 CSS Zero 추가
확장…
프로젝트에 CSS Zero를 추가하려면 다음 단계를 따르세요.<code>$ bundle add css-zero $ bin/rails generate css_zero:install</code>
사용 가능한 구성요소를 보려면 다음 명령을 실행하세요.
<code>$ bin/rails generate css_zero:add --help</code>
모든 구성 요소를 추가하려면 다음 명령을 실행하세요.
<code>bin/rails generate css_zero:add accordion alert autoanimate autosave avatar badge breadcrumb button card carousel chart check_all combobox command collapsible datepicker dialog dropdown flash form fullscreen group hotkey input input_concerns inputmask layouts lightbox local_time navigation pagination progress prose sheet skeleton sortable switch table tabs trix upload_preview toggle web_share</code>
다른 구성요소를 추가하거나 일부 구성요소를 제거하면 위 명령이 작동하지 않으니 주의하세요.
1부 - app/assets/stylesheets/base.css
파일 수정
확장…
제목 링크를 보면 `<code><div> ... </div></code>
<div>을 사용하지 않고 이러한 HTML 요소의 스타일을 지정하기 위해 다음과 같이 수정합니다.
<pre class="brush:php;toolbar:false"><code>body {
background-color: var(--color-bg);
color: var(--color-text);
font-synthesis-weight: none;
text-rendering: optimizeLegibility;
/* 无类配置测试 */
font-size: var(--text-fluid-base);
/* max-inline-size: 65ch; */
/* 抗锯齿字体 */
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
:is(h1, h2, h3, h4, h5, h6) {
font-weight: var(--font-extrabold);
hyphens: auto;
letter-spacing: -0.02ch;
line-height: 1.1;
margin-block: 0.5em;
overflow-wrap: break-word;
text-wrap: balance;
}
}</code></pre>
<p><code>app/assets/stylesheets/base.css
파일을 열고 body {
줄을 찾아 text-rendering: optimizeLegibility;
뒤에 복사한 내용을 붙여넣습니다. 붙여넣은 후 max-inline-size: 65ch;
줄을 삭제하거나 주석 처리하세요. body
의 내용은 위 예시와 동일해야 합니다.
다음으로 app/assets/stylesheets/prose.css
파일을 열고 다음 내용이 포함된 섹션을 복사하세요.
<code>/* 无类配置测试 */ h1 { font-size: 2.4em; } h2 { font-size: 1.8em; } h3 { font-size: 1.5em; } h4 { font-size: 1.2em; } h5 { font-size: 1em; } h6 { font-size: 0.8em; } :is(ul, ol, menu) { list-style: revert; padding-inline-start: revert; } :is(p, ul, ol, dl, blockquote, pre, figure, table, hr) { margin-block: 0.65lh; overflow-wrap: break-word; text-wrap: pretty; } hr { border-color: var(--color-border-dark); border-style: var(--border-style, solid) none none; margin: 2lh auto; } :is(b, strong) { font-weight: var(--font-bold); } :is(pre, code) { background-color: var(--color-border-light); border: 1px solid var(--color-border); border-radius: var(--rounded); font-family: var(--font-monospace-code); font-size: 0.85em; } code { padding: 0.1em 0.3em; } pre { border-radius: 0.5em; overflow-x: auto; padding: 0.5lh 2ch; text-wrap: nowrap; } pre code { background-color: transparent; border: 0; font-size: 1em; padding: 0; } p { hyphens: auto; letter-spacing: -0.005ch; } blockquote { font-style: italic; margin: 0 3ch; } blockquote p { hyphens: none; } table { border: 1px solid var(--color-border-dark); border-collapse: collapse; margin: 1lh 0; } th { font-weight: var(--font-bold); } :is(th, td) { border: 1px solid var(--color-border-dark); padding: 0.2lh 1ch; text-align: start; } th { border-block-end-width: 3px; } del { background-color: rgb(from var(--color-negative) r g b / .1); color: var(--color-negative); } ins { background-color: rgb(from var(--color-positive) r g b / .1); color: var(--color-positive); } a { color: var(--color-link); text-decoration: underline; text-decoration-skip-ink: auto; } mark { color: var(--color-text); background-color: var(--color-highlight); }</code>
위 를 app/assets/stylesheets/base.css
파일 끝에 붙여넣으세요.
2부 - app/assets/stylesheets/button.css
파일 수정
확장…
모든 HTML 버튼 요소가 자동으로 이 스타일을 사용하도록 `.btn` CSS 클래스를 수정합니다.할 것입니다:
<code>$ rails -v Rails 8.0.0 $ time rails new classless-css-zero ... real 0m47.500s user 0m33.052s sys 0m4.249s</code>
다음으로 변경됨:
<code>$ cd classless-css-zero && code .</code>
3부 - app/assets/stylesheets/input.css
파일 수정
확장…
모든 HTML 입력 요소가 자동으로 이 스타일을 사용하도록 `.input` CSS 클래스를 수정합니다. 마찬가지로 `.checkbox`, `.radio`, `.range` 선택기를 수정하여 해당하는 모든 HTML 태그에 적용되도록 합니다. 구체적인 수정 방법은 두 번째 부분과 유사합니다. 두 번째 부분의 수정 방법을 참조하세요.
app/views/layouts/application.html.erb
파일 조정
확장…
`application.html.erb`에서 테스트 HTML 파일에 대한 참조를 배치하는 위치에 따라 링크가 다르게 나타납니다. 데모가 튜토리얼과 동일하게 보이도록 하려면 해당 섹션을 수정하세요.이제 CSS Zero를 클래스 없는 프레임워크로 사용하여 HTML 스타일을 지정하시겠습니까?
CSS Zero를 구성하고 위의 사용자 정의를 수행한 후 Rails 서버를 시작하면 스타일이 지정된 HTML이 표시됩니다.
다크 모드
일부 스타일에는 어두운 모드 옵션이 있습니다. 이를 확인하려면 컴퓨터의 색상 개인 설정에서 테마를 변경하세요. Windows에서 "앱에 대해 어두운 모드 활성화"를 검색하고 어두운 모드와 밝은 모드 간에 전환합니다. 운영 체제 설정을 변경한 후 HTML 페이지는 라이트 모드와 다크 모드를 지원함을 나타내기 위해 자동으로 변경되어야 합니다.
다음 단계
[x] 원하는 대로 스타일을 구성하세요. [x] CDN 대신 스타일링을 위해 프로젝트에서 CSS 파일을 사용합니다. [x] Tailwind를 사용하여 클래스 없는 CSS 프레임워크의 기능을 복제합니다. [-] Rails Live Reload를 사용하여 브라우저에서 프로젝트의 변경 사항을 동적으로 업데이트합니다. [-] 프런트 엔드에 더 많은 시간을 투자하고 싶다면 좋아하는 스타일에 대한 사용자 정의 옵션을 확인하세요.
참고자료
- https://medium.com/@AntonShevchuk/classless-css-based-on-tailwind-57d4ef745c1f
- https://guides.rubyonrails.org/layouts_and_rendering.html
- https://dev.to/leonardorafael/the-classless-and-class-light-css-aproaches-2b98
- https://prismic.io/blog/best-css-frameworks
- https://saeedesmaili.com/notes/classless-css-libraries/
- https://dev.to/logrocket/comparing-classless-css-frameworks-3267
- https://github.com/dbohdan/classless-css
- https://github.com/troxler/awesome-css-frameworks
위 내용은 클래스 없는 CSS 프레임워크로 제로 CSS를 사용하는 Ruby on Rails 빠른 프런트엔드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

최근에 색상에 대한 도구, 기사 및 리소스가 많이있었습니다. 당신의 즐거움을 위해 여기에 반올림하여 몇 개의 탭을 닫을 수 있습니다.

Robin은 이전에 이것을 다루었지만 지난 몇 주 동안 그것에 대해 약간의 혼란을 듣고 다른 사람이 설명하는 데 찌르는 것을 보았습니다.

나는 샌드위치 사이트의 디자인을 절대적으로 좋아합니다. 많은 아름다운 특징 중에는 무지개가있는이 헤드 라인이 스크롤 할 때 움직이는 밑줄이 있습니다. 그것은 아닙니다

많은 인기있는 이력서 디자인은 그리드 모양으로 섹션을 배치하여 사용 가능한 페이지 공간을 최대한 활용하고 있습니다. CSS 그리드를 사용하여 레이아웃을 만듭니다

페이지 새로 고침은 일입니다. 때로는 반응이 없다고 생각하거나 새로운 콘텐츠를 사용할 수 있다고 생각할 때 페이지를 새로 고침합니다. 때때로 우리는 단지 화가났습니다

React 세계에서 프론트 엔드 애플리케이션을 구성하는 방법에 대한 지침은 거의 없습니다. (“옳은 느낌”이 될 때까지 파일을 움직여도 롤). 진실

대부분의 경우 사용자가 응용 프로그램에 적극적으로 참여하거나 일시적으로 비활성화되어 있는지에 대해 신경 쓰지 않습니다. 비활성, 의미, 아마도 그들

Wufoo는 항상 통합으로 훌륭했습니다. 캠페인 모니터, MailChimp 및 Typekit과 같은 특정 앱과 통합이 있지만


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
