Dash 常用 HTML 组件

Dash 使用 dash_html_components 提供了一组 HTML 元素组件,这些组件允许你通过 Python 创建标准的 HTML 元素。你可以用它们来构建页面结构、组织内容和设置样式。Dash 的 HTML 组件对应 HTML 的基本标签,并允许你在布局中轻松地创建网页元素。


目录

  1. 常用 HTML 组件概览
  2. 文本组件
  3. 表单和输入组件
  4. 图像和链接组件
  5. 布局和容器组件
  6. 参考资料与出站链接

1. 常用 HTML 组件概览

Dash 的 HTML 组件主要由以下几类组成:

  • 文本组件:用于文本、段落、标题等。
  • 表单和输入组件:用于创建用户交互输入控件。
  • 图像和链接组件:用于插入图片和链接。
  • 布局和容器组件:用于控制布局和容器样式。

每个组件都可以接受 style 属性来调整 CSS 样式,也支持内联样式。


2. 文本组件

html.H1html.H2html.H3html.H4html.H5html.H6

  • 用于定义不同级别的标题,H1 为最大的标题,H6 为最小的标题。

示例

import dash
from dash import html

app = dash.Dash(__name__)

app.layout = html.Div([
    html.H1("Main Heading (H1)", style={'color': 'blue'}),
    html.H2("Subheading (H2)", style={'color': 'green'}),
    html.H3("Subheading (H3)", style={'color': 'red'})
])

if __name__ == '__main__':
    app.run_server(debug=True)

html.P

  • 用于定义段落。

示例

html.P("This is a paragraph of text in a Dash app.")

html.Br

  • 插入换行符,通常用于文本格式化。

示例

html.P("First line of text." + html.Br() + "Second line of text.")

html.Strong

  • 强调文本,通常呈现为加粗。

示例

html.P("This is a " + html.Strong("bold") + " word.")


3. 表单和输入组件

html.Button

  • 创建一个按钮,用户点击时可以触发回调。

示例

html.Button('Click Me', id='button', n_clicks=0)

html.A

  • 用于创建超链接。

示例

html.A("Click Here to Visit Google", href="https://www.google.com", target="_blank")

html.Input

  • 创建一个输入框,用户可以在其中输入文本。

示例

html.Input(id='input-box', type='text', value='default text')

html.Textarea

  • 创建一个多行输入框。

示例

html.Textarea(id='textarea', value='Type something...', rows=4, cols=50)

html.Select 和 html.Option

  • 创建下拉选择框,html.Option 用于定义每个选项。

示例

html.Select(
    children=[
        html.Option('Option 1', value='1'),
        html.Option('Option 2', value='2'),
        html.Option('Option 3', value='3')
    ]
)

html.Checklist

  • 创建复选框。

示例

html.Checklist(
    options=[
        {'label': 'Option 1', 'value': '1'},
        {'label': 'Option 2', 'value': '2'}
    ],
    value=['1']
)

html.RadioItems

  • 创建单选框。

示例

html.RadioItems(
    options=[
        {'label': 'Option A', 'value': 'A'},
        {'label': 'Option B', 'value': 'B'}
    ],
    value='A'
)


4. 图像和链接组件

html.Img

  • 用于插入图像。

示例

html.Img(src='https://www.example.com/image.jpg', alt='Image Description', width='300')

html.A

  • 用于创建链接,支持 href 属性指定目标 URL,支持 target 属性指定打开方式(如 _blank 表示在新窗口打开)。

示例

html.A("Visit Example", href="https://www.example.com", target="_blank")


5. 布局和容器组件

html.Div

  • 创建一个容器,用于分组和布局其他组件。

示例

html.Div([
    html.H1("Welcome to Dash!"),
    html.P("This is a simple layout.")
])

html.Span

  • 用于内联容器,常用于一小段文本或元素。

示例

html.Span("Inline text")

html.Nav

  • 用于创建导航菜单。

示例

html.Nav([
    html.A("Home", href="#home"),
    html.A("About", href="#about"),
    html.A("Contact", href="#contact")
])

html.Header

  • 用于定义页面的头部。

示例

html.Header([
    html.H1("Page Header"),
    html.P("This is the header section of the page.")
])

html.Footer

  • 用于定义页面的底部。

示例

html.Footer([
    html.P("This is the footer section.")
])

html.Section

  • 用于定义页面的某一部分,通常包含一组相关内容。

示例

html.Section([
    html.H2("Section Heading"),
    html.P("This is the content of the section.")
])


6. 参考资料与出站链接

通过这些链接,你可以深入了解 Dash 的 HTML 组件以及如何利用它们构建 Web 应用的布局和结构。


总结

Dash 提供了丰富的 HTML 组件,涵盖了页面的所有常用元素,如标题、段落、按钮、输入框、图像、链接、容器等。这些组件允许你通过 Python 编写可视化交互式应用,而无需手动编写大量的 HTML 代码。通过结合这些组件和 Dash 的回调功能,你可以轻松构建动态交互式 Web 应用。