CSS 实用工具
Ionic Framework 提供了一组 CSS 实用工具类,可在任何元素上使用,以修改文本、元素放置或调整内边距和外边距。
如果您的应用不是使用可用的 Ionic Framework 启动器启动的,则需要包含全局样式表的可选部分中列出的样式表,这些样式才能正常工作。
文本修改
文本对齐
<ion-grid>
<ion-row>
<ion-col>
<div class="ion-text-start">
<h3>text-start</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
<ion-col>
<div class="ion-text-end">
<h3>text-end</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
<ion-col>
<div class="ion-text-center">
<h3>text-center</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
</ion-row>
<ion-row>
<ion-col>
<div class="ion-text-justify">
<h3>text-justify</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
<ion-col>
<div class="ion-text-wrap">
<h3>text-wrap</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
<ion-col>
<div class="ion-text-nowrap">
<h3>text-nowrap</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</div>
</ion-col>
</ion-row>
</ion-grid>
| Class | Style Rule | Description |
|---|---|---|
.ion-text-left | text-align: left | 行内内容对齐到行框的左边缘。 |
.ion-text-right | text-align: right | 行内内容对齐到行框的右边缘。 |
.ion-text-start | text-align: start | 如果方向为从左到右则等同于 text-left,如果方向为从右到左则等同于 text-right。 |
.ion-text-end | text-align: end | 如果方向为从左到右则等同于 text-right,如果方 向为从右到左则等同于 text-left。 |
.ion-text-center | text-align: center | 行内内容在行框内居中对齐。 |
.ion-text-justify | text-align: justify | 行内内容两端对齐。文本应均匀分布,使其左右边缘与行框的左右边缘对齐,最后一行除外。 |
.ion-text-wrap | white-space: normal | 空白序列被合并。源文件中的换行符与其他空白字符同样处理。根据需要换行以填充行框。 |
.ion-text-nowrap | white-space: nowrap | 与 normal 一样合并空白,但抑制文本内的换行(文本换行)。 |
文本转换
<ion-grid>
<ion-row>
<ion-col>
<div class="ion-text-uppercase">
<h3>text-uppercase</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
<ion-col>
<div class="ion-text-lowercase">
<h3>text-lowercase</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
<ion-col>
<div class="ion-text-capitalize">
<h3>text-capitalize</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
</ion-row>
</ion-grid>
| Class | Style Rule | Description |
|---|---|---|
.ion-text-uppercase | text-transform: uppercase | 强制将所有字符转换为大写。 |
.ion-text-lowercase | text-transform: lowercase | 强制将所有字符转换为小写。 |
.ion-text-capitalize | text-transform: capitalize | 强制将每个单词的首字母转换为大写。 |
响应式文本类
上面列出的所有文本类都有额外的类,可以根据屏幕大小修改文本。在每个类中,使用 text-{breakpoint}- 代替 text-,以仅在特定屏幕尺寸上使用该类,其中 {breakpoint} 是 Ionic 断点中列出的断点名称之一。
下表显示了默认行为,其中 {modifier} 可以是以下任意一项:left、right、start、end、center、justify、wrap、nowrap、uppercase、lowercase 或 capitalize,如上所述。
| Class | Description |
|---|---|
.ion-text-{modifier} | 在所有屏幕尺寸上对元素应用修饰符。 |
.ion-text-sm-{modifier} | 当 min-width: 576px 时对元素应用修饰符。 |
.ion-text-md-{modifier} | 当 min-width: 768px 时对元素应用修饰符。 |
.ion-text-lg-{modifier} | 当 min-width: 992px 时对元素应用修饰符。 |
.ion-text-xl-{modifier} | 当 min-width: 1200px 时对元素应用修饰符。 |
元素放置
浮动
float CSS 属性指定元素应放置在其容器的左侧或右侧,文本和内联元素将环绕它。这样,元素脱离了网页的正常流,但仍然保持为流的一部分,这与绝对定位不同。
<ion-grid>
<ion-row>
<ion-col>
<h3>不浮动</h3>
<img
alt="人物头部剪影"
src="https://ionicframework.com/docs/img/demos/avatar.svg"
height="50px"
/>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</ion-col>
<ion-col>
<h3>左浮动</h3>
<img
alt="人物头部剪影"
src="https://ionicframework.com/docs/img/demos/avatar.svg"
height="50px"
class="ion-float-left"
/>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</ion-col>
<ion-col>
<h3>右浮动</h3>
<img
alt="人物头部剪影"
src="https://ionicframework.com/docs/img/demos/avatar.svg"
height="50px"
class="ion-float-right"
/>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</ion-col>
</ion-row>
</ion-grid>
| Class | Style Rule | Description |
|---|---|---|
.ion-float-left | float: left | 元素将浮动在其包含块的左侧。 |
.ion-float-right | float: right | 元素将浮动在其包含块的右侧。 |
.ion-float-start | float: left / float: right | 如果方向为从左到右则等同于 float-left,如果方向为从右到左则等同于 float-right。 |
.ion-float-end | float: left / float: right | 如果方向为从左到右则等同于 float-right,如果方向为从右到左则等同于 float-left。 |
响应式浮动类
上面列出的所有浮动类都有额外的类,可以根据屏幕大小修改浮动行为。在每个类中,使用 float-{breakpoint}- 代替 float-,以仅在特定屏幕尺寸上使用该类,其中 {breakpoint} 是 Ionic 断点中列出的断点名称之一。
下表显示了默认行为,其中 {modifier} 可以是以下任意一项:left、right、start 或 end,如上所述。
| Class | Description |
|---|---|
.ion-float-{modifier} | 在所有屏幕尺寸上对元素应用修饰符。 |
.ion-float-sm-{modifier} | 当 min-width: 576px 时对元素应用修饰符。 |
.ion-float-md-{modifier} | 当 min-width: 768px 时对元素应用修饰符。 |
.ion-float-lg-{modifier} | 当 min-width: 992px 时对元素应用修饰符。 |
.ion-float-xl-{modifier} | 当 min-width: 1200px 时对元素应用修饰符。 |
元素显示
显示
display CSS 属性设置元素是作为块级还是内联框处理,以及用于其子元素的布局,如流式布局、网格或弹性布局。它也可以用于完全从布局中隐藏元素。
Ionic 为 display 提供了以下实用类:
| Class | Style Rule | Description |
|---|---|---|
.ion-display-none | display: none | 关闭元素的显示,使其对布局没有影响(文档渲染时如同该元素不存在)。 |
.ion-display-inline | display: inline | 元素表现为内联元素,不会在其前后创建换行。 |
.ion-display-inline-block | display: inline-block | 元素表现为块级元素,但像单个内联框一样与周围内容一起流动。 |
.ion-display-block | display: block | 元素表现为块级元素,在正常流中在其前后创建换行。 |
.ion-display-flex | display: flex | 元素表现为块级元素,并根据弹性盒模型布局其内容。 |
.ion-display-inline-flex | display: inline-flex | 元素表现为内联元素,并根据弹性盒模型布局其内容。 |
.ion-display-grid | display: grid | 元素表现为块级元素,并根据网格模型布局其内容。 |
.ion-display-inline-grid | display: inline-grid | 元素表现为内联元素,并根据网格模型布局其内容。 |
.ion-display-table | display: table | 元素表现为类似 HTML <table> 元素的行为。它定义一个块级框。 |
.ion-display-table-cell | display: table-cell | 元素表现为类似 HTML <td> 元素的行为。 |
.ion-display-table-row | display: table-row | 元素表现为类似 HTML <tr> 元素的行为。 |
响应式显示类
上面列出的所有显示类都有额外的类,可以根据屏幕大小修改显示行为。在每个类中,使用 display-{breakpoint}- 代替 display-,以仅在特定屏幕尺寸上使用该类,其中 {breakpoint} 是 Ionic 断点中列出的断点名称之一。
下表显示了默认行为,其中 {modifier} 可以是以下任意一项:none、inline、inline-block、block、flex、inline-flex、grid、inline-grid、table、table-cell、table-row,如上所述。
| Class | Description |
|---|---|
.ion-display-{modifier} | 在所有屏幕尺寸上对元素应用修饰符。 |
.ion-display-sm-{modifier} | 当 min-width: 576px 时对元素应用修饰符。 |
.ion-display-md-{modifier} | 当 min-width: 768px 时对元素应用修饰符。 |
.ion-display-lg-{modifier} | 当 min-width: 992px 时对元素应用修饰符。 |
.ion-display-xl-{modifier} | 当 min-width: 1200px 时对元素应用修饰符。 |
已弃用的类
以下类已被弃用,并将在下一个主要版本中移除。请改用推荐的 .ion-display-* 类。
| Class | Description |
|---|---|
.ion-hide | 在所有屏幕尺寸上对元素应用 display: none。已弃用 —— 请改用 ion-display-none 类。 |
.ion-hide-sm-{dir} | 当 min-width: 576px(up)或 max-width: 576px(down)时对元素应用修饰符。已弃用 —— 请改用 ion-display-sm-{modifier} 类。 |
.ion-hide-md-{dir} | 当 min-width: 768px(up)或 max-width: 768px(down)时对元素应用修饰符。已弃用 —— 请改用 ion-display-md-{modifier} 类。 |
.ion-hide-lg-{dir} | 当 min-width: 992px(up)或 max-width: 992px(down)时对元素应用修饰符。已弃用 —— 请改用 ion-display-lg-{modifier} 类。 |
.ion-hide-xl-{dir} | 当 min-width: 1200px(up)或 max-width: 1200px(down)时对元素应用修饰符。已弃用 —— 请改用 ion-display-xl-{modifier} 类。 |
内容间距
内边距
内边距类用于设置元素的内边距区域。内边距区域是元素内容与其边框之间的空间。
默认应用的 padding 值为 16px,由 --ion-padding 变量设置。有关如何更改这些值的更多信息,请参阅 CSS 变量部分。
<ion-grid>
<ion-row>
<ion-col class="ion-padding">
<div>内边距</div>
</ion-col>
<ion-col class="ion-padding-top">
<div>上内边距</div>
</ion-col>
<ion-col class="ion-padding-start">
<div>起始内边距</div>
</ion-col>
<ion-col class="ion-padding-end">
<div>结束内边距</div>
</ion-col>
</ion-row>
<ion-row>
<ion-col class="ion-padding-bottom">
<div>下内边距</div>
</ion-col>
<ion-col class="ion-padding-vertical">
<div>垂直内边距</div>
</ion-col>
<ion-col class="ion-padding-horizontal">
<div>水平内边距</div>
</ion-col>
<ion-col class="ion-no-padding">
<div>无内边距</div>
</ion-col>
</ion-row>
</ion-grid>
| Class | Style Rule | Description |
|---|---|---|
.ion-padding | padding: 16px | 为所有边应用内边距。 |
.ion-padding-top | padding-top: 16px | 为顶部应用内边距。 |
.ion-padding-start | padding-start: 16px | 为起始侧应用内边距。 |
.ion-padding-end | padding-end: 16px | 为结束侧应用内边距。 |
.ion-padding-bottom | padding-bottom: 16px | 为底部应用内边距。 |
.ion-padding-vertical | padding: 16px 0 | 为顶部和底部应用内边距。 |
.ion-padding-horizontal | padding: 0 16px | 为左侧和右侧应用内边距。 |
.ion-no-padding | padding: 0 | 所有边均不应用内边距。 |