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

news2025/5/20 0:58:52

前言

最近在优化一个 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.coloradmin.cn/o/2379633.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java ee初阶】jvm(3)

一、双亲委派机制&#xff08;类加载机制中&#xff0c;最经常考到的问题&#xff09; 类加载的第一个环节中&#xff0c;根据类的全限定类名&#xff08;包名类名&#xff09;找到对应的.class文件的过程。 JVM中进行类加载的操作&#xff0c;需要以来内部的模块“类加载器”…

23种设计模式考试趋势分析之——适配器(Adapter)设计模式——求三连

文章目录 一、考点分值占比与趋势分析二、真题考点深入挖掘三、"wwwh"简述四、真题演练与解析五、极简备考笔记 适配器模式核心要点六、考点记忆顺口溜七、多角度解答 一、考点分值占比与趋势分析 由于知识库提供的真题年份信息不完整&#xff0c;我们仅能对现有数据…

【Linux笔记】——线程互斥与互斥锁的封装

&#x1f525;个人主页&#x1f525;&#xff1a;孤寂大仙V &#x1f308;收录专栏&#x1f308;&#xff1a;Linux &#x1f339;往期回顾&#x1f339;&#xff1a;【Linux笔记】——Linux线程封装 &#x1f516;流水不争&#xff0c;争的是滔滔不息 一、线程互斥的概念二、互…

Android屏幕采集编码打包推送RTMP技术详解:从开发到优化与应用

在现代移动应用中&#xff0c;屏幕采集已成为一个广泛使用的功能&#xff0c;尤其是在实时直播、视频会议、远程教育、游戏录制等场景中&#xff0c;屏幕采集技术的需求不断增长。Android 平台为开发者提供了 MediaProjection API&#xff0c;这使得屏幕录制和采集变得更加简单…

【深度学习】残差网络(ResNet)

如果按照李沐老师书上来&#xff0c;学完 VGG 后还有 NiN 和 GoogLeNet 要学&#xff0c;但是这两个我之前听都没听过&#xff0c;而且我看到我导师有发过 ResNet 相关的论文&#xff0c;就想跳过它们直接看后面的内容。 现在看来这不算是不踏实&#xff0c;因为李沐老师说如果…

《Python星球日记》 第94天:走近自动化训练平台

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、自动化训练平台简介1. Kubeflow Pipelines2. TensorFlow Extended (TFX) 二…

S7 200 smart连接Profinet转ModbusTCP网关与西门子1200PLC配置案例

控制要求&#xff1a;使用MODBUSTCP通信进行两台PLC之间的数据交换&#xff0c;由于改造现场不能改动程序&#xff0c;只留出了对应的IQ地址。于是客户决定使用网关进行通讯把数据传到plc。 1、读取服务器端40001~40005地址中的数据&#xff0c;放入到VW200~VW208中&#xff1…

学习笔记:黑马程序员JavaWeb开发教程(2025.4.7)

12.9 登录校验-Filter-入门 /*代表所有&#xff0c;WebFilter&#xff08;urlPatterns “/*”&#xff09;代表拦截所有请求 Filter是JavaWeb三大组件&#xff0c;不是SpringBoot提供的&#xff0c;要在SpringBoot里面使用JavaWeb&#xff0c;则需要加上ServletComponentScan注…

OpenCV-python灰度变化和直方图修正类型

实验1 实验内容 该段代码旨在读取名为"test.png"的图像&#xff0c;并将其转换为灰度图像。使用加权平均值法将原始图像的RGB值转换为灰度值。 代码注释 image cv.imread("test.png")h np.shape(image)[0] w np.shape(image)[1] gray_img np.zeros…

图像定制大一统?字节提出DreamO,支持人物生成、 ID保持、虚拟试穿、风格迁移等多项任务,有效解决多泛化性冲突。

字节提出了一个统一的图像定制框架DreamO&#xff0c;支持人物生成、 ID保持、虚拟试穿、风格迁移等多项任务&#xff0c;不仅在广泛的图像定制场景中取得了高质量的结果&#xff0c;而且在适应多条件场景方面也表现出很强的灵活性。现在已经可以支持消费级 GPU&#xff08;16G…

Nginx 动静分离在 ZKmall 开源商城静态资源管理中的深度优化

在 B2C 电商高并发场景下&#xff0c;静态资源&#xff08;图片、CSS、JavaScript 等&#xff09;的高效管理直接影响页面加载速度与用户体验。ZKmall开源商城通过对 Nginx 动静分离技术的深度优化&#xff0c;将静态资源响应速度提升 65%&#xff0c;带宽成本降低 40%&#xf…

在vs code 中无法运行npm并报无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查

问题&#xff1a; npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查 原因&#xff1a; 可能是环境变量未正确继承或终端配置不一致 解决方法&#xff1a; 1.找到自己的node.js的版本号 2.重新下载node.js 下载 node.js - https://nodejs.p…

分布式2(限流算法、分布式一致性算法、Zookeeper )

目录 限流算法 固定窗口计数器&#xff08;Fixed Window Counter&#xff09; 滑动窗口计数器&#xff08;Sliding Window Counter&#xff09; 漏桶算法&#xff08;Leaky Bucket&#xff09; 令牌桶算法&#xff08;Token Bucket&#xff09; 令牌桶与漏桶的对比 分布式…

ARM A64 LDR指令

ARM A64 LDR指令 1 LDR (immediate)1.1 Post-index1.2 Pre-index1.3 Unsigned offset 2 LDR (literal)3 LDR (register)4 其他LDR指令变体4.1 LDRB (immediate)4.1.1 Post-index4.1.2 Pre-index4.1.3 Unsigned offset 4.2 LDRB (register)4.3 LDRH (immediate)4.3.1 Post-index…

实习记录小程序|基于SSM+Vue的实习记录小程序设计与实现(源码+数据库+文档)

实习记录小程序 目录 基于SSM的习记录小程序设计与实现 一、前言 二、系统设计 三、系统功能设计 1、小程序端&#xff1a; 2、后台 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码…

老旧设备升级利器:Modbus TCP转 Profinet让能效监控更智能

在工业自动化领域&#xff0c;ModbusTCP和Profinet是两种常见的通讯协议。Profinet是西门子公司推出的基于以太网的实时工业以太网标准&#xff0c;而Modbus则是由施耐德电气提出的全球首个真正开放的、应用于电子控制器上的现场总线协议。这两种协议各有各的优点&#xff0c;但…

【从基础到模型网络】深度学习-语义分割-ROI

在语义分割中&#xff0c;ROI&#xff08;Region of Interest&#xff0c;感兴趣区域&#xff09;是图像中需要重点关注的部分。其作用包括&#xff1a;提高效率&#xff0c;减少高分辨率图像的计算量&#xff1b;增强分割精度&#xff0c;聚焦关键语义信息&#xff1b;减少背景…

掌握Docker:从运行到挂载的全面指南

目录 1. Docker的运行2. 查看Docker的启动日志3. 停止容器4. 容器的启动5. 删除容器6. 查看容器的详细信息7.一条命令关闭所有容器拓展容器的复制&#xff08;修改数据不会同步&#xff09;容器的挂载&#xff08;修改数据可以同步&#xff09;挂载到现有容器 1. Docker的运行 …

Pandas pyecharts数据可视化基础③

pyecharts基础绘图案例解析 引言思维导图代码案例分析 提前安装依赖同样操作安装完重新启动Jupyter Notebook三维散点图&#xff08;代码5 - 40&#xff09; 代码结果代码解析 漏斗图&#xff08;代码5 - 41&#xff09;结果代码解析 词云图&#xff08;代码5 - 42&#xff09;…

数据库中关于查询选课问题的解法

前言 今天上午起来复习了老师上课讲的选课问题。我总结了三个解法以及一点注意事项。 选课问题介绍 简单来说就是查询某某同学没有选或者选了什么课。然后查询出该同学的姓名&#xff0c;学号&#xff0c;课程号&#xff0c;课程名之类的。 sql文件我上传了。大家可以尝试练…