2024 年排名前 5 的 CSS 框架

导读:本文介绍 Bootstrap、Tailwind、Foundation、Bulma、UIKit等UI/CSS框架,让我们一起探索 2024 年最佳 CSS 框架。

为自己的项目选择正确的 CSS 框架非常的关键,也非常地重要,此举会为构建新的 UI 组件所需的整体工作定下基调。目前最重要的是更快地发布新功能,让我们的用户更加满意。

因此,我们需要一个易于使用,并可能提供即用型 UI 元素的 CSS 框架。

现在,就让我们来看看 2024 年值得尝试的优秀 CSS 框架。

1 Bootstrap

https://getbootstrap.com/

Bootstrap是一个移动端优先的 CSS 框架,可以让你构建美观且响应灵敏的 Web 界面。

它配备了强大的网格系统,可以帮助开发者为不同的屏幕尺寸制定可适应性布局。此外,它还提供了即用型组件,例如导航栏、卡片和模式,从而加快了开发速度。

  • 这是 Bootstrap 的独特功能

  • 响应式网格系统。

  • 广泛的预构建组件(导航栏、卡片、模式)

  • 用于快速造型的实用程序类

  • 用于增强功能的 JavaScript 插件

  • 活跃的社区和丰富的开发文档

开发者可围绕 Bootstrap 创建包装器,并可以直接得到框架支持。例如,如果你尝试将 Bootstrap 集成到 React 中,可以轻松地将库 — React Bootstrap安装到自己的项目中,并按如下方式启用它:

import ButtonGroup from 'react-bootstrap/ButtonGroup';
import Dropdown from 'react-bootstrap/Dropdown';
import DropdownButton from 'react-bootstrap/DropdownButton';
import './bootstrap.css';

export function Bootstrap() {
  return (
    

      {['Primary', 'success', 'danger'].map((variant) => (
        
          as={ButtonGroup}
          key={variant}
          id={dropdown-variants-${variant}}
          variant={variant.toLowerCase()}
          title={variant}
          Action
          Another action
          
            Active Item
          
          
          Separated link
        
      ))}
      
      
        
          Dropdown Button
        
        
          Action
          Another action
          Something else
        
      
    
  );
}

2. Tailwind CSS

https://tailwindcss.com/

Tailwind CSS是一个实用优先的 CSS 框架,它提供了一组低级实用程序类,以此来支持开发者的自定义设计。

与提供预样式组件的传统 CSS 框架不同,Tailwind 专注于提供实用程序类,使你能够构建独特的设计。它被设计为高度可定制与可扩展,为开发者提供了无限的灵活性。

以下是 Tailwind CSS 的一些独特功能:

  • 实用至上的造型方法

  • 使用配置文件高度可定制

  • 没有预先构建的组件;从实用程序类创建样式

  • 带断点的响应式设计

  • 用于优化生产构建的 PurgeCSS 集成

  • 通过 JIT(Just-In-Time)模式快速开发

集成 Tailwind 并不是看起来那么简单。首先设置 Tailwind 编译器:

/** @type {import('tailwindcss').Config} */

module.exports = {

  content: ["./src/**/*.{html,js}"],

  theme: {

    extend: {},

  },

  plugins: [],

}

之后,我们就可以使用预定义的 Tailwind 编写 CSS 类:

export function Tailwind() {

  const ContactTextArea = ({

    row,

    placeholder,

    name,

    defaultValue,

  }: {

    row: number;

    placeholder: string;

    name: string;

    defaultValue: string;

  }) => {

    return (

      

        


          

            rows={row}

            placeholder={placeholder}

            name={name}

            className="w-full resize-none rounded border border-stroke px-[14px] py-3 text-base text-body-color outline-none focus:border-primary dark:border-dark-3 dark:bg-dark dark:text-dark-6"

            defaultValue={defaultValue}

          />

        

      

    );

  };



const ContactInputBox = ({

    type,

    placeholder,

    name,

  }: {

    type: string;

    placeholder: string;

    name: string;

  }) => {

    return (

      

        


          

            type={type}

            placeholder={placeholder}

            name={name}

            className="w-full rounded border border-stroke px-[14px] py-3 text-base text-body-color outline-none focus:border-primary dark:border-dark-3 dark:bg-dark dark:text-dark-6"

          />

        

      

    );

  };

  return (

    


      


        


          

            

            

              type="text"

              name="email"

              placeholder="Your Email"

            />

            

              type="text"

              name="phone"

              placeholder="Your Phone"

            />

            

              row={6}

              placeholder="Your Message"

              name="details"

              defaultValue=""

            />

            


              

                type="submit"

                className="w-full rounded border border-primary bg-primary p-3 text-white transition hover:bg-opacity-90"

                Send Message

              

            

          

          

        

      

    

  );

}