Bootstrap5 文字排版讲解

目录

一、文本对齐方式

二、文本换行和溢出

三、文本转换

四、文本大小

五、字体粗细及斜体

六、行高(行距)

七、重置链接颜色


一、文本对齐方式

使用文本对齐类能够轻松地将文本重新对齐到组件。对于左侧、居中和右侧对齐,同时也可以搭配断点实现响应式布局

  • 左侧对齐     text-start
  • 居中对齐     text-center
  • 右侧对齐     text-end
<div class="container mt-3">
	<p class="text-start">在所有视口大小上左侧对齐的文本。</p>
	<p class="text-center">在所有视口大小上居中对齐的文本</p>
	<p class="text-end">在所有视口大小上右侧对齐的文本。</p>

	<p class="text-sm-center">在大小为 SM(小)或更宽的视口上开始对齐文本</p>
	<p class="text-md-center">在大小为 MD(中)或更宽的视口上开始对齐文本</p>
	<p class="text-lg-center">在大小为 LG(大)或更宽的视口上开始对齐文本</p>
	<p class="text-xl-center">在大小为 XL(超大)或更宽的视口上开始对齐文本</p>
</div>


二、文本换行和溢出

通过类名( .text-wrap )可以设置文字在超过盒子宽度时自动换行

通过类名( .text-nowrap )可以阻止文字的换行,此时文字会溢出盒子

<div class="container mt-3 bg-dark">
	<div class="badge bg-primary text-wrap text-center fs-6" 
style="width: 6rem; height: 6rem;">
  		该文本在超过盒子宽度后会自动换行
	</div>
	<div class="badge text-nowrap bg-primary fs-6" 
style="width: 8rem; height: 8rem;">
  		该文本长度超过盒子宽度会溢出
	</div>
</div>

效果如下图:


三、文本转换

通过类名修改组件内字母的大小写

  • .text-lowercase   将该组件内所有的字母修改为小写
  • .text-uppercase   将该组件内所有的字母修改为大写
  • .text-capitalize     将该组件内所有单词的首字母修改为大写,而不影响其他字母的大小写
<div class="container mt-3 fs-3">
	<p class="text-lowercase">Lowercased text.</p>
	<p class="text-uppercase">Uppercased text.</p>
	<p class="text-capitalize">capiTaliZed text.</p>
</div>

效果图如下:


 四、文本大小

在BootStrap5中将文本大小分为了六类,分别对应标题的h1~h6

写法:添加类名 .fs-*   或   添加类名 h*   ( *号为1~6的数值 )

<div class="container mt-3">
	<p class="h1">h1 Bootstrap 标题</p>
	<p class="h2">h2 Bootstrap 标题</p>
	<p class="h3">h3 Bootstrap 标题</p>
	<p class="h4">h4 Bootstrap 标题 </p>
	<p class="h5">h5 Bootstrap 标题</p>
	<p class="h6">h6 Bootstrap 标题</p>
	
	<h1>h1 Bootstrap 标题</h1> 
	<h2>h2 Bootstrap 标题</h2>
	<h3>h3 Bootstrap 标题</h3>
	<h4>h4 Bootstrap 标题</h4>
	<h5>h5 Bootstrap 标题</h5>
	<h6>h6 Bootstrap 标题</h6>
	
	<p class="fs-1">h1 Bootstrap 标题</p>
	<p class="fs-2">h2 Bootstrap 标题</p>
	<p class="fs-3">h3 Bootstrap 标题</p>
	<p class="fs-4">h4 Bootstrap 标题</p>
	<p class="fs-5">h5 Bootstrap 标题</p>
	<p class="fs-6">h6 Bootstrap 标题</p>
</div>

效果图如下:

 BootStrap5默认字体初始大小为16px


五、字体粗细及斜体

在BootStrap5中将字体的粗细分为了5类  .fw-bolder(bolder)  .fw-bold(700)  .fw-normal(400)  .fw-light(300)  .fw-lighter(lighter)

斜体 则是通过类名( .fst-italic )来控制  而通过类名( .fst-normal )也可以取消斜体

<div class="container mt-3">
	<p class="fw-bold">粗体文本</p>
	<p class="fw-bolder">粗体文本(相对于父元素)</p>
	<p class="fw-normal">正常的文本</p>
	<p class="fw-light">细体文本.</p>
	<p class="fw-lighter">细体文本(相对于父元素)</p>
	<p class="fst-italic">斜体</p>
	<p class="fst-normal">正常字体样式的文本 取消斜体<p>
</div>

效果图如下:


六、行高(行距)

在BootStrap5中将行高分为了4种  .lh-1(1rem)  .lh-sm(1.25rem)  .lh-base(1.5rem)  .lh-lg(2rem)

<div class="container mt-3">
	<p class="lh-1">这是一个很长的段落,用来说明我们的实用程序如何影响元素的行高。类应用于元素本身,有时也应用于父元素。这些类可以根据需要使用我们的实用程序API进行定制。</p>
	<p class="lh-sm">这是一个很长的段落,用来说明我们的实用程序如何影响元素的行高。类应用于元素本身,有时也应用于父元素。这些类可以根据需要使用我们的实用程序API进行定制。</p>
	<p class="lh-base">这是一个很长的段落,用来说明我们的实用程序如何影响元素的行高。类应用于元素本身,有时也应用于父元素。这些类可以根据需要使用我们的实用程序API进行定制。</p>
	<p class="lh-lg">这是一个很长的段落,用来说明我们的实用程序如何影响元素的行高。类应用于元素本身,有时也应用于父元素。这些类可以根据需要使用我们的实用程序API进行定制。</p>
</div>

效果图如下:

  BootStrap5默认字体初始行高为1.5(即 .ih-base) 1rem 为 16px


七、重置链接颜色

‎使用类( .text-reset )重置文本或链接的颜色,以便它从其父级继承颜色。‎ 

<div class="container mt-3">
	<p class="text-muted">Muted text with a <a href="#">reset link</a></p>
	<p class="text-muted"> Muted text with a <a href="#" class="text-reset">reset link</a></p>
</div>

效果图如下:


好的,我可以为您提供一些设计思路。首先,您需要安装 Django 和 DataTables 插件。 1. 创建 Django 项目和应用程序 使用 Django 命令行工具创建项目和应用程序: ``` django-admin startproject myproject cd myproject python manage.py startapp myapp ``` 2. 创建模型 在 models.py 文件中定义模型: ```python from django.db import models class Customer(models.Model): customer_id = models.IntegerField(primary_key=True) rs = models.IntegerField() fs = models.IntegerField() ms = models.IntegerField() label = models.CharField(max_length=20) customer_type = models.CharField(max_length=20) ``` 3. 创建视图和模板 在 views.py 文件中定义视图: ```python from django.shortcuts import render from django.core.paginator import Paginator from myapp.models import Customer def customer_list(request): customer_list = Customer.objects.all() paginator = Paginator(customer_list, 10) # 每页显示10条记录 page = request.GET.get('page') customers = paginator.get_page(page) return render(request, 'customer_list.html', {'customers': customers}) def customer_detail(request, customer_id): customer = Customer.objects.get(pk=customer_id) return render(request, 'customer_detail.html', {'customer': customer}) ``` 在 urls.py 文件中定义 URL: ```python from django.urls import path from myapp.views import customer_list, customer_detail urlpatterns = [ path('', customer_list, name='customer_list'), path('<int:customer_id>/', customer_detail, name='customer_detail'), ] ``` 在 customer_list.html 模板中使用 DataTables 插件渲染表格: ```html {% extends 'base.html' %} {% block content %} <h1>Customer List</h1> <table id="customer-table" class="table table-striped table-bordered"> <thead> <tr> <th>Customer ID</th> <th>RS</th> <th>FS</th> <th>MS</th> <th>Label</th> <th>Customer Type</th> </tr> </thead> <tbody> {% for customer in customers %} <tr> <td><a href="{% url 'customer_detail' customer.customer_id %}">{{ customer.customer_id }}</a></td> <td>{{ customer.rs }}</td> <td>{{ customer.fs }}</td> <td>{{ customer.ms }}</td> <td>{{ customer.label }}</td> <td>{{ customer.customer_type }}</td> </tr> {% endfor %} </tbody> </table> {% if customers.has_other_pages %} <ul class="pagination"> {% if customers.has_previous %} <li class="page-item"><a class="page-link" href="?page={{ customers.previous_page_number }}">«</a></li> {% endif %} {% for i in customers.paginator.page_range %} {% if customers.number == i %} <li class="page-item active"><a class="page-link" href="#">{{ i }}</a></li> {% else %} <li class="page-item"><a class="page-link" href="?page={{ i }}">{{ i }}</a></li> {% endif %} {% endfor %} {% if customers.has_next %} <li class="page-item"><a class="page-link" href="?page={{ customers.next_page_number }}">»</a></li> {% endif %} </ul> {% endif %} <script> $(document).ready(function() { $('#customer-table').DataTable(); }); </script> {% endblock %} ``` 在 customer_detail.html 模板中显示单条数据: ```html {% extends 'base.html' %} {% block content %} <h1>Customer Detail</h1> <dl class="row"> <dt class="col-sm-3">Customer ID</dt> <dd class="col-sm-9">{{ customer.customer_id }}</dd> <dt class="col-sm-3">RS</dt> <dd class="col-sm-9">{{ customer.rs }}</dd> <dt class="col-sm-3">FS</dt> <dd class="col-sm-9">{{ customer.fs }}</dd> <dt class="col-sm-3">MS</dt> <dd class="col-sm-9">{{ customer.ms }}</dd> <dt class="col-sm-3">Label</dt> <dd class="col-sm-9">{{ customer.label }}</dd> <dt class="col-sm-3">Customer Type</dt> <dd class="col-sm-9">{{ customer.customer_type }}</dd> </dl> {% endblock %} ``` 4. 配置 Bootstrap 和 DataTables 将 Bootstrap 和 DataTables 的 CSS 和 JavaScript 文件复制到静态文件目录中,并在 base.html 模板中引入: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{% block title %}My Project{% endblock %}</title> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdn.datatables.net/1.10.22/css/dataTables.bootstrap4.min.css"> </head> <body> <nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="#">My Project</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav"> <li class="nav-item"> <a class="nav-link" href="{% url 'customer_list' %}">Customer List</a> </li> </ul> </div> </nav> <div class="container"> {% block content %}{% endblock %} </div> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.2/js/bootstrap.min.js"></script> <script src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/1.10.22/js/dataTables.bootstrap4.min.js"></script> </body> </html> ``` 5. 迁移数据库 运行以下命令迁移数据库: ``` python manage.py makemigrations python manage.py migrate ``` 6. 导入数据 将 result.csv 文件导入到数据库中: ``` python manage.py shell >>> from myapp.models import Customer >>> import csv >>> with open('result.csv') as f: ... reader = csv.reader(f) ... for row in reader: ... customer = Customer(customer_id=row[0], rs=row[1], fs=row[2], ms=row[3], label=row[4], customer_type=row[5]) ... customer.save() ``` 7. 启动服务 运行以下命令启动服务: ``` python manage.py runserver ``` 现在,您可以在浏览器中访问 http://localhost:8000/ 查看网页,通过 http://localhost:8000/<customer_id>/ 进行单条数据查询。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值