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

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 开发,强烈推荐试试这个方法!

相关文章:

  • 5000 字总结CSS 中的过渡、动画和变换详解
  • 数据库blog1_信息(数据)的处理与效率提升
  • Unity序列化字段、单例模式(Singleton Pattern)
  • Redis 发布订阅模式深度解析:原理、应用与实践
  • 制作大风车动画
  • Mipsel固件Fuzzing小记
  • 永磁同步电机公式总结——反电动势、磁链、转矩公式;三项、两项电压方程;坐标表换方程
  • Node.js 源码架构详解
  • 【磁盘清理】C盘告急,给JetBrains缓存文件搬个家
  • <input type=“number“>不显示的原因
  • NBA足球赛事直播源码体育直播M33模板赛事源码
  • CSS- 4.1 浮动(Float)
  • 【Linux笔记】——线程互斥与互斥锁的封装
  • 本地缓存更新方案探索
  • 产品经理入门(2)产品体验报告
  • Ubuntu 环境下搭建 Docker 及常见问题解决方案
  • 大数据会被AI取代?不!大数据才是AI的“智慧燃料”引擎
  • mcp学习笔记
  • JSP链接MySQL8.0(Eclipse+Tomcat9.0+MySQL8.0)
  • 西门子 Teamcenter13 Eclipse RCP 开发 1.2 工具栏 开关按钮
  • 美国失去最后的AAA主权评级,继标普、惠誉后再遭穆迪降级
  • 女子七年后才知银行卡被盗刷18万元,警方抓获其前男友
  • 魔都眼|锦江乐园摩天轮“换代”开拆,新摩天轮暂定118米
  • 由我国牵头制定,适老化数字经济国际标准发布
  • 体坛联播|博洛尼亚时隔51年再夺意杯,皇马逆转马洛卡
  • 日本航空自卫队一架练习机在爱知县坠毁