


Ruby on Rails Frontend Rápido com Frameworks CSS Classless ou Class-Light
If you are starting out in web development and your focus is not to specialize in the frontend, one of the barriers that can be most painful is being able to easily style your ugly HTML.
For those who have first contact, it seems enigmatic and confusing to try to understand HTML that has a sequence of letters and numbers with predefined utility classes to apply styles to HTML, for example:
<div> <p><small>Copiado do site https://picocss.com</small></p> <p>Os frameworks CSS que utilizam classes utilitárias são excelentes, versáteis, responsivos, elegantes e possuem muitas outras qualidades, mas o Tailwind CSS não é a única solução. <strong>Se você precisa de algo rápido e mais simples, usar um framework CSS classless ou class-light será uma solução melhor.</strong></p> <p>Frameworks CSS classless estilizam elementos HTML diretamente, sem classes. Frameworks class-light combinam estilos automáticos com algumas classes utilitárias opcionais para personalização, o que adicionar maior versatilidade com seu uso.</p> <p>Usando uma abordagem classless ou class-light você pode resolver a estilização do HTML de forma rápida com uma, duas ou três linhas.</p> <h2> Veremos nesta série de artigos: </h2> <ul> <li>A utilização do framework Ruby on Rails na versão 8, com Propshaft e Importmap;</li> <li>Conheceremos brevemente o arquivo com o layout padrão das páginas HTML;</li> <li>Criaremos 4 páginas HTML com vários elementos para testar a estilização com CSS;</li> <li>Faremos um breve resumo sobre as rotas criadas para as páginas;</li> <li>Vamos alterar o layout padrão para incluir o link para as páginas HTML criadas;</li> <li>Saberemos como identificar se o frameworks CSS possui o modo light e dark configurados automaticamente por padrão;</li> <li>Na parte 2, criaremos um projeto com 12 frameworks CSS via CDN ao layout padrão;</li> <li>Na parte 3, criaremos um projeto com 12 frameworks CSS copiando os arquivos para o projeto;</li> <li>Veremos também sugestões e novos desafios;</li> </ul> <h2> Conhecendo o layout padrão do Rails app/views/layouts/application.html.erb. </h2> <p><details> <summary>Exibir mais …</summary> <ul> <li>Por Convenção sobre Configuração (CoC - Convention over Configuration), o Rails utiliza o application.html.erb como layout padrão para renderizar todas as páginas;</li> <li>O Arquivo original no Rails 8 deve ter um conteúdo igual ou parecido com o copiado abaixo: </li> </ul> <pre class="brush:php;toolbar:false"><!DOCTYPE html> <html> <head> <title><%= content_for(:title) || "Classless Css" %></title> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes"> <%= csrf_meta_tags %> <%= csp_meta_tag %> <%= yield :head %> <%# Enable PWA manifest for installable apps (make sure to enable in config/routes.rb too!) %> <%#= tag.link rel: "manifest", href: pwa_manifest_path(format: :json) %> <link rel="icon" href="/icon.png" type="image/png"> <link rel="icon" href="/icon.svg" type="image/svg+xml"> <link rel="apple-touch-icon" href="/icon.png"> <%# Includes all stylesheet files in app/assets/stylesheets %> <%= stylesheet_link_tag :app, "data-turbo-track": "reload" %> <%= javascript_importmap_tags %> </head> <body> <%= yield %> </body> </html>
- The top part within the … they have the important structural elements for the page to be rendered and function correctly. The head tag is used to include important metadata and resources that help configure the page's behavior (with javascript), its appearance (with CSS), its relationship with other systems and services, and security settings such as protection for CSRF and CSP ;
- The main content of the pages will be rendered inside , through the ERB tag <%= yield %>. This tag serves as an integration point to include the content of a view dynamically rendered by Rails;
Common Steps
Some steps are common to all articles in the series and are here to simplify. Don't worry, we will make it clear in the next articles when the following steps should be followed.
Generate test pages, with a controller pages and the actions html_test_1, html_test_2, html_test_3 and html_test_4
Show more…
$ rails g controller pages html_test_1 html_test_2 html_test_3 html_test_4
create app/controllers/pages_controller.rb
route get "pages/html_test_1"
get "pages/html_test_2"
get "pages/html_test_3"
get "pages/html_test_4"
invoke erb
create app/views/pages
create app/views/pages/html_test_1.html.erb
create app/views/pages/html_test_2.html.erb
create app/views/pages/html_test_3.html.erb
create app/views/pages/html_test_4.html.erb
invoke helper
create app/helpers/pages_helper.rb
Open the config/routes.rb file in VSCode
root "pages#html_test_1"
Displaying Rails routes
Using the terminal you can display the routes by specifying a controller (with -c), for example from controller pages Or you can display all routes withShow more…
<div>
<p><small>Copiado do site https://picocss.com</small></p>
<p>Os frameworks CSS que utilizam classes utilitárias são excelentes, versáteis, responsivos, elegantes e possuem muitas outras qualidades, mas o Tailwind CSS não é a única solução. <strong>Se você precisa de algo rápido e mais simples, usar um framework CSS classless ou class-light será uma solução melhor.</strong></p>
<p>Frameworks CSS classless estilizam elementos HTML diretamente, sem classes. Frameworks class-light combinam estilos automáticos com algumas classes utilitárias opcionais para personalização, o que adicionar maior versatilidade com seu uso.</p>
<p>Usando uma abordagem classless ou class-light você pode resolver a estilização do HTML de forma rápida com uma, duas ou três linhas.</p>
<h2>
Veremos nesta série de artigos:
</h2>
<ul>
<li>A utilização do framework Ruby on Rails na versão 8, com Propshaft e Importmap;</li>
<li>Conheceremos brevemente o arquivo com o layout padrão das páginas HTML;</li>
<li>Criaremos 4 páginas HTML com vários elementos para testar a estilização com CSS;</li>
<li>Faremos um breve resumo sobre as rotas criadas para as páginas;</li>
<li>Vamos alterar o layout padrão para incluir o link para as páginas HTML criadas;</li>
<li>Saberemos como identificar se o frameworks CSS possui o modo light e dark configurados automaticamente por padrão;</li>
<li>Na parte 2, criaremos um projeto com 12 frameworks CSS via CDN ao layout padrão;</li>
<li>Na parte 3, criaremos um projeto com 12 frameworks CSS copiando os arquivos para o projeto;</li>
<li>Veremos também sugestões e novos desafios;</li>
</ul>
<h2>
Conhecendo o layout padrão do Rails app/views/layouts/application.html.erb.
</h2>
<p><details>
<summary>Exibir mais …</summary>
<ul>
<li>Por Convenção sobre Configuração (CoC - Convention over Configuration), o Rails utiliza o application.html.erb como layout padrão para renderizar todas as páginas;</li>
<li>O Arquivo original no Rails 8 deve ter um conteúdo igual ou parecido com o copiado abaixo:
</li>
</ul>
<pre class="brush:php;toolbar:false"><!DOCTYPE html>
<html>
<head>
<title><%= content_for(:title) || "Classless Css" %></title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes">
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= yield :head %>
<%# Enable PWA manifest for installable apps (make sure to enable in config/routes.rb too!) %>
<%#= tag.link rel: "manifest", href: pwa_manifest_path(format: :json) %>
<link rel="icon" href="/icon.png" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/icon.png">
<%# Includes all stylesheet files in app/assets/stylesheets %>
<%= stylesheet_link_tag :app, "data-turbo-track": "reload" %>
<%= javascript_importmap_tags %>
</head>
<body>
<%= yield %>
</body>
</html>
$ rails g controller pages html_test_1 html_test_2 html_test_3 html_test_4
create app/controllers/pages_controller.rb
route get "pages/html_test_1"
get "pages/html_test_2"
get "pages/html_test_3"
get "pages/html_test_4"
invoke erb
create app/views/pages
create app/views/pages/html_test_1.html.erb
create app/views/pages/html_test_2.html.erb
create app/views/pages/html_test_3.html.erb
create app/views/pages/html_test_4.html.erb
invoke helper
create app/helpers/pages_helper.rb
Let's create four pages with HTML content to test the CSS styles.
Ruby on Rails uses the MVC (Model-View-Controller) architecture by default to start organizing your project. Much of your code is organized in the following folders:
- When the code is related to domain/business logic and data, keep it in the app/models folder;
- The code related to the view (HTML, JSON, XML, etc...) will be in app/views;
- Code related to the request lifecycle, will be in app/controllers;
Insert the content of the html_test_1 page
Show more…
root "pages#html_test_1"
Start the Rails server and see the ugly plain HTML?
Show more…
$ rails routes -c pages
Prefix Verb URI Pattern Controller#Action
pages_html_test_1 GET /pages/html_test_1(.:format) pages#html_test_1
pages_html_test_2 GET /pages/html_test_2(.:format) pages#html_test_2
pages_html_test_3 GET /pages/html_test_3(.:format) pages#html_test_3
pages_html_test_4 GET /pages/html_test_4(.:format) pages#html_test_4
The above is the detailed content of Ruby on Rails Frontend Rápido com Frameworks CSS Classless ou Class-Light. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











I see Google Fonts rolled out a new design (Tweet). Compared to the last big redesign, this feels much more iterative. I can barely tell the difference

Have you ever needed a countdown timer on a project? For something like that, it might be natural to reach for a plugin, but it’s actually a lot more

Everything you ever wanted to know about data attributes in HTML, CSS, and JavaScript.

At the start of a new project, Sass compilation happens in the blink of an eye. This feels great, especially when it’s paired with Browsersync, which reloads

Tartan is a patterned cloth that’s typically associated with Scotland, particularly their fashionable kilts. On tartanify.com, we gathered over 5,000 tartan

The inline-template directive allows us to build rich Vue components as a progressive enhancement over existing WordPress markup.

PHP templating often gets a bad rap for facilitating subpar code — but that doesn't have to be the case. Let’s look at how PHP projects can enforce a basic

Let’s attempt to coin a term here: "Static Form Provider." You bring your HTML
