Uma comparação visual de 13 estruturas CSS

Bom dia amigos!



Trago à sua atenção os resultados de um pequeno estudo - uma comparação visual de 13 frameworks CSS.



O objetivo do estudo é determinar qual estrutura faz o melhor trabalho com o estilo padrão, ou seja, sem adicionar classes especiais (fornecidas pelo framework).



O estudo apresenta as seguintes estruturas:



  • Bootstrap
  • Materializar
  • Bulma
  • Fundação
  • Semântica
  • Esqueleto
  • Tailwind
  • Uikit
  • Puro
  • Miligrama
  • espectro
  • Base
  • Piquenique


As seguintes versões dos estilos foram usadas:



  • Bootstrap - stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css
  • Materialize - cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css
  • Bulma - cdnjs.cloudflare.com/ajax/libs/bulma/0.7.4/css/bulma.min.css
  • Foundation - cdn.jsdelivr.net/npm/foundation-sites@6.6.3/dist/css/foundation.min.css
  • Semantic - cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.css
  • Esqueleto - cdnjs.cloudflare.com/ajax/libs/skeleton-framework/1.1.1/skeleton.min.css
  • Tailwind - cdnjs.cloudflare.com/ajax/libs/tailwindcss/1.5.2/tailwind.min.css
  • Uikit - cdn.jsdelivr.net/npm/uikit@3.5.5/dist/css/uikit.min.css
  • Pure - unpkg.com/purecss@2.0.3/build/pure-min.css
  • Miligrama - cdnjs.cloudflare.com/ajax/libs/milligram/1.4.0/milligram.css
  • Spectre - unpkg.com/spectre.css/dist/spectre.min.css
  • Base - unpkg.com/@getbase/base/core.css
  • Picnic - cdn.jsdelivr.net/npm/picnic




A marcação de teste apresenta os principais elementos de uma página da web com ênfase nas tags semânticas:



<header>
    <figure>
        <figcaption>logo</figcaption>
        <img src="logo.png" alt="logo">
    </figure>

    <nav>
        <a href="#">link1</a>
        <a href="#">link2</a>
        <a href="#">link3</a>
    </nav>
</header>

<hr>

<main>
    <h1>main title</h1>

    <aside>
        <h4>aside title</h4>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Praesentium, quibusdam.</p>
    </aside>

    <section>
        <h2>section title</h2>

        <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Odit, illum.</p>

        <ul>
            <li>item1</li>
            <li>item2</li>
            <li>item3</li>
        </ul>

        <table>
            <caption>table</caption>
            <tr>
                <th>1</th>
                <th>2</th>
                <th>3</th>
            </tr>
            <tr>
                <td>1</td>
                <td>2</td>
                <td>3</td>
            </tr>
            <tr>
                <td>4</td>
                <td>5</td>
                <td>6</td>
            </tr>
        </table>

        <dl>
            <dt>term</dt>
            <dd>Lorem <strong>ipsum</strong>, dolor sit <em>amet</em> consectetur adipisicing elit. <mark>Accusamus</mark>, obcaecati?</dd>
        </dl>

        <details open>
            <summary>summary</summary>
            <p><small>Lorem dolor sit amet ipsum, consectetur adipisicing elit. Explicabo, repellat?</small></p>
        </details>

        <button>button</button>
    </section>

    <article>
        <h3>article title</h3>

        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nam, architecto?</p>

        <blockquote>Lorem ipsum dolor, sit amet <cite>consectetur adipisicing elit.</cite> Ipsam, ad!</blockquote>

        <code>
            console.log('hello world')
        </code>
    </article>
</main>

<hr>

<footer>
    <form action="#">
        <fieldset>
            <legend>form</legend>
            <label>name:
                <input type="text">
            </label>
            <label>email:
                <input type="email">
            </label>
            <input type="submit" value="subscribe">
        </fieldset>
    </form>

    <p>© 2020.</p>
</footer>


Esta é a aparência:









você pode brincar com o código aqui:







O sandbox não permite a tag head, portanto, seja bem-vindo ao GitHub Pages .



O código do projeto está aqui .



Os resultados da pesquisa são bastante esperados: Bootstrap é o primeiro, Materializar é o segundo.



Materializar parece seguir o conceito de "primeiro móvel", e é por isso que o Bootstrap perde quando se trata de telas grandes. Também materializar perde em termos de funcionalidade, mas isso é outra história.



Esqueleto e Piquenique pareciam promissores para mim.



Obrigado pela atenção.



All Articles