当前位置: 首页 > article >正文

IntraWeb 16.0.2 + Bootstrap 4 居中布局实战(附源码+效果图)

前言

最近在优化一个 IntraWeb 16.0.2 项目时,发现默认布局方式不够灵活,尤其是在不同屏幕尺寸下对齐效果不佳。于是,我决定引入 Bootstrap 4 来实现 完美居中布局,并成功落地!今天就把完整的 源代码 + 实际效果图 分享给大家,希望能帮助到同样遇到这个问题的开发者。

问题背景

IntraWeb 作为 Delphi 的 Web 开发框架,虽然开发效率高,但默认的页面布局方式有时难以满足现代化 UI 需求。特别是在需要 居中布局 时,单纯使用 IntraWeb 控件可能会遇到对齐偏差、响应式适配不佳等问题。而 Bootstrap 4 的网格系统(Grid System)恰好能完美解决这个问题!

解决方案(附完整代码)

1. 引入 Bootstrap 4

在 ServerController 的 OnConfig 事件中添加 Bootstrap 4 的 CDN 引用:

 procedure TIWServerController.IWServerControllerBaseConfig(Sender: TObject);
begin
  // 引入 Bootstrap 4
  AddToInitProc('document.head.innerHTML += ''<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css">'';');
  AddToInitProc('document.head.innerHTML += ''<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js"></script>'';');
end;

2. 使用 Bootstrap 实现居中布局

在 TIWForm 上放置一个 TIWRegion,设置 HTMLTag 为 div,并利用 Bootstrap 的 container + row justify-content-center 实现完美居中:

procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  IWRegion1.HTMLTag := 'div';
  IWRegion1.RawText := True;
  IWRegion1.Text := 
    '<div class="container">' +
    '  <div class="row justify-content-center">' +
    '    <div class="col-md-8">' +
    '      <h1>IntraWeb + Bootstrap 4 居中布局</h1>' +
    '      <p>这是一段示例文本,使用 Bootstrap 4 的网格系统实现完美居中!</p>' +
    '    </div>' +
    '  </div>' +
    '</div>';
end;

3. 实际运行效果

编译运行后,页面内容会在不同设备上 自动居中,并且完美适配 PC、平板和手机端!以下是 良辰 提供的实际效果图(基于上述代码生成):

IntraWeb + Bootstrap 4 居中布局效果图
注:上图仅为示例,真实效果可访问 良辰 查看完整案例) 

总结

通过 IntraWeb 16.0.2 + Bootstrap 4 的结合,我们可以轻松实现 响应式居中布局,大幅提升 Web 应用的 UI 体验。如果你也在用 IntraWeb 开发,强烈推荐试试这个方法!

http://www.lryc.cn/news/2379633.html

相关文章:

  • Spring 框架中适配器模式的五大典型应用场景
  • 【Java ee初阶】jvm(3)
  • C 语言多维数组:定义、初始化与访问的深度解析
  • 浅入ES5、ES6(ES2015)、ES2023(ES14)版本对比,及使用建议---ES6就够用(个人觉得)
  • 23种设计模式考试趋势分析之——适配器(Adapter)设计模式——求三连
  • Python 翻译词典小程序
  • 【Linux笔记】——线程互斥与互斥锁的封装
  • Android屏幕采集编码打包推送RTMP技术详解:从开发到优化与应用
  • 【深度学习】残差网络(ResNet)
  • 《Python星球日记》 第94天:走近自动化训练平台
  • S7 200 smart连接Profinet转ModbusTCP网关与西门子1200PLC配置案例
  • React中巧妙使用异步组件Suspense优化页面性能。
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.4.7)
  • 11 web 自动化之 DDT 数据驱动详解
  • OpenCV-python灰度变化和直方图修正类型
  • 从 Excel 到 Data.olllo:数据分析师的提效之路
  • 图像定制大一统?字节提出DreamO,支持人物生成、 ID保持、虚拟试穿、风格迁移等多项任务,有效解决多泛化性冲突。
  • Nginx 动静分离在 ZKmall 开源商城静态资源管理中的深度优化
  • 在vs code 中无法运行npm并报无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查
  • 分布式2(限流算法、分布式一致性算法、Zookeeper )
  • 2089. 找出数组排序后的目标下标——O(n)做法!
  • ARM A64 LDR指令
  • 给大模型“贴膏药”:LoRA微调原理说明书
  • Spring-messaging-MessageHandler接口实现类ServiceActivatingHandler
  • asp.net core api RESTful 风格控制器
  • 【甲方安全建设】Python 项目静态扫描工具 Bandit 安装使用详细教程
  • 实习记录小程序|基于SSM+Vue的实习记录小程序设计与实现(源码+数据库+文档)
  • 老旧设备升级利器:Modbus TCP转 Profinet让能效监控更智能
  • 【从基础到模型网络】深度学习-语义分割-ROI
  • Qt控件:交互控件