📜  ReactJS 语义 UI 网格集合(1)

📅  最后修改于: 2023-12-03 14:47:01.918000             🧑  作者: Mango

ReactJS 语义 UI 网格集合

ReactJS 是一套用于构建用户界面的JavaScript 库,而语义 UI 是 ReactJS 的一个CSS框架,提供了一整套样式和组件,可以帮助开发者方便快捷地创建美丽数字网站。其中,它提供的网格系统是构建网站布局的基础。

网格布局

网格布局是指将一个页面划分为若干个网格,再将内容嵌入其中。这种布局方式可以使得页面的布局更加规范化和合理化,以适应不同设备的屏幕大小。

栅格系统

语义 UI 提供了强大的栅格系统,允许将每个行划分为12列或16列,开发者只需为每个列指定所占的列数,即可实现布局。以下是一个以16列为例的简单的栅格系统:

import { Grid, Row, Col } from 'semantic-ui-react'

<Grid columns={16}>
  <Grid.Row>
    <Grid.Column width={8}>8</Grid.Column>
    <Grid.Column width={8}>8</Grid.Column>
  </Grid.Row>
  <Grid.Row>
    <Grid.Column width={6}>6</Grid.Column>
    <Grid.Column width={10}>10</Grid.Column>
  </Grid.Row>
</Grid>
响应式设计

语义 UI 的栅格系统强大之处在于它支持响应式设计。通过设置不同的列数,可以实现在不同设备上显示不同的页面布局。

例如,以下代码展示了一个响应式的栅格系统,当屏幕尺寸小于768px时,每个行仅包含一列,而在大屏幕上可以看到两列:

import { Grid, Row, Col } from 'semantic-ui-react'

<Grid columns={2} stackable>
  <Grid.Row>
    <Grid.Column>1</Grid.Column>
    <Grid.Column>2</Grid.Column>
  </Grid.Row>
  <Grid.Row>
    <Grid.Column>3</Grid.Column>
    <Grid.Column>4</Grid.Column>
  </Grid.Row>
</Grid>
集合组件

语义 UI 还提供了一些网格集合组件,可以轻松创建一些常见的网页元素。以下是一些常见的集合组件:

网格列表

语义 UI 基于网格系统实现了一个非常方便的列表组件,可以用于展示图片、文本或其他内容。

import { Grid, Image } from 'semantic-ui-react'

<Grid columns={5}>
  <Grid.Row>
    <Grid.Column>
      <Image src='/images/pic1.jpg' />
    </Grid.Column>
    <Grid.Column>
      <Image src='/images/pic2.jpg' />
    </Grid.Column>
    <Grid.Column>
      <Image src='/images/pic3.jpg' />
    </Grid.Column>
    <Grid.Column>
      <Image src='/images/pic4.jpg' />
    </Grid.Column>
    <Grid.Column>
      <Image src='/images/pic5.jpg' />
    </Grid.Column>
  </Grid.Row>
</Grid>
网格卡片

网格卡片是非常流行的一种展示方式,语义 UI 提供了一套非常灵活的网格卡片组件,可以自由组合出各种各样的效果。

import { Grid, Card, Icon, Image } from 'semantic-ui-react'

<Grid columns={3}>
  <Grid.Row>
    <Grid.Column>
      <Card>
        <Image src='/images/pic1.jpg' />
        <Card.Content>
          <Card.Header>Card Header</Card.Header>
          <Card.Description>
            Card Description
          </Card.Description>
        </Card.Content>
        <Card.Content extra>
          <Icon name='user' />
          10 Friends
        </Card.Content>
      </Card>
    </Grid.Column>
    <Grid.Column>
      <Card>
        <Image src='/images/pic2.jpg' />
        <Card.Content>
          <Card.Header>Card Header</Card.Header>
          <Card.Description>
            Card Description
          </Card.Description>
        </Card.Content>
        <Card.Content extra>
          <Icon name='user' />
          12 Friends
        </Card.Content>
      </Card>
    </Grid.Column>
    <Grid.Column>
      <Card>
        <Image src='/images/pic3.jpg' />
        <Card.Content>
          <Card.Header>Card Header</Card.Header>
          <Card.Description>
            Card Description
          </Card.Description>
        </Card.Content>
        <Card.Content extra>
          <Icon name='user' />
          8 Friends
        </Card.Content>
      </Card>
    </Grid.Column>
  </Grid.Row>
</Grid>
结论

通过语义 UI 的网格系统,开发者可以轻松创建出美丽规范的网页布局,并通过响应式设计实现不同屏幕尺寸下的适应。同时,语义 UI 还提供了一系列常见的网格集合组件,可以方便快捷地创建出各种各样的网页元素。是Web开发中非常实用的工具。