当前位置:

首页 > 编程开发 > 使用 PHP 构建您的初创公司:引导您的主页

使用 PHP 构建您的初创公司:引导您的主页

本教程是EnvatoTuts+上的“使用PHP构建您的初创公司”系列的一部分。在本系列中,我将使用我的会议规划器应用作为现实生活中的示例,指导您从概念到现实启动一家初创公司。在此过程中的每一步,我都会将MeetingPlanner代码作为开源示例发布,您可以从中学习。我还将解决出现的与初创企业相关的业务问题。改进主页Web服务的主页具有多种作用。从功能上讲,它必须使人们能够轻松注册并开始使用该应用程序。但它还必须美观地触动访问者,并给他们留下专业的印象,即您的服务提供了主页告诉他们的内容。由于到目前为止我

使用 PHP 构建您的初创公司:引导您的主页

本教程是 Envato Tuts+ 上的“使用 PHP 构建您的初创公司”系列的一部分。在本系列中,我将使用我的会议规划器应用作为现实生活中的示例,指导您从概念到现实启动一家初创公司。在此过程中的每一步,我都会将 Meeting Planner 代码作为开源示例发布,您可以从中学习。我还将解决出现的与初创企业相关的业务问题。

改进主页

Web 服务的主页具有多种作用。从功能上讲,它必须使人们能够轻松注册并开始使用该应用程序。但它还必须美观地触动访问者,并给他们留下专业的印象,即您的服务提供了主页告诉他们的内容。

由于到目前为止我一直专注于为 Meeting Planner 构建日程安排功能,所以我没有时间专注于完善主页 - 坦率地说,它的表现有些不足,让首次访问者印象深刻。< /p>

虽然我是一名程序和产品经理,也有一点是 UX 设计师和 Web 开发人员,但我不是熟练的图形设计师或 HTML/CSS 专家。我还没有在该项目中投入外部资源,因此我需要自己改进。

在今天的节目中,我将向您介绍我如何增强主页以及我利用 Bootstrap 和 CSS 的哪些方面来提供更专业的外观。如果您更深入地研究,您可以自己使用 Bootstrap 做很多事情。

如果您尚未试用 Meeting Planner 或 Simple Planner,请继续安排您的第一次会议。我确实参与了下面的评论主题,所以请告诉我你的想法!您也可以通过 Twitter @reifman 联系我。如果您想为未来的教程提出新功能或主题建议,我会特别感兴趣。

提醒一下,Meeting Planner 的所有代码都是用 PHP 的 Yii2 框架编写的。如果您想了解有关 Yii2 的更多信息,请查看我们的并行系列“使用 Yii2 进行编程”。

当前主页

使用 PHP 构建您的初创公司:引导您的主页

在上一集中,我提到启动 Simple Planner 以及具有不同配色方案和图像的 Meeting Planner。它们看起来不错,但产品线索和注册按钮位于首屏下方。首次访问者到达时首先会看到照片。

仔细看看:

使用 PHP 构建您的初创公司:引导您的主页

规划改进

使用 PHP 构建您的初创公司:引导您的主页

在上面,您可以看到我创建的最终版本。本质上,我想将引导以及登录和注册选项迁移到首屏,同时不完全遮挡主页背景图像。

本质上,我需要做四件事:

  1. 确保背景图像具有响应能力并且能够应用不透明度(透明度)。
  2. 创建一个带有透明面板的左列来显示潜在客户。
  3. 创建一个右侧列来显示带有注册、登录和启动通知表单的面板,并具有一定的透明度。
  4. 确保视频轮播位于背景图像下方。

让我们看看每个挑战。

重构背景图像

为了使背景响应更可靠,我重写了代码,将其作为背景图像放置在页面的 body 元素上。

首先,我创建了一个新的 home.css 样式表,该样式表将在 HomeAsset.php 文件中配置:


 * @since 2.0
 */
class HomeAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'css/site.css',
        'css/home.css',
        'css/home-video.css',
    ];
    public $js = [
      'js/home.js',
      'js/froogaloop2.min.js',
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
}

资源文件决定为每个布局加载哪些 CSS、JavaScript 和依赖库。

这是定义 body 元素的 home.css 顶部:

/* CSS used here will be applied after bootstrap.css */
body {
 -webkit-background-size: cover;
 -moz-background-size: cover;
 -o-background-size: cover;
 background-size: cover;
}

为了动态旋转背景图像,我在布局文件Home.php中添加了一个样式标签(CSS无法做到这一点):

params['urlPrefix'])? $urlPrefix = Yii::$app->params['urlPrefix'] : '');
?>
beginPage() ?>



    
    
    
    <?= Html::encode($this->title) ?>
    
    head() ?>


这应用了 SiteHelper.php 在上一集中定义的所选背景图像:

body {
     background: url('./img/home/home-params['site']['img'] ?>.jpg') no-repeat center 30px;
    }

网格的左侧

使用 PHP 构建您的初创公司:引导您的主页

接下来,我创建了一个 Bootstrap 网格布局来显示左侧内容面板:

Choose times and places together. Make planning easy.

我使用了一个单位偏移量 col-md-offset-1 和一个六单位列 col-md-6。这里还集成了其他一些方面。

行中的 home-top 类允许我为这些面板集成垂直边距。我发现 16% 对我来说效果很好,来自 home.css:

.home-top {
  margin-top:16%;
}

通过给主页上的面板一些不透明度,opacity: 0.9;,背景图像仍然显示了一点,这在美学上令人愉悦:

.panel-default {
 opacity: 0.9;
}

.jumbotron {
    text-align: center;
    background-color: rgba(0,0,0,0.3);
    color:#fff;
    border-radius:5px;
}
.jumbotron .lead {
  color:#fff;
}

.jumbotron .btn {
    font-size: 21px;
    opacity:.8;
    margin:25px;
}

此外,我还可以使用 rgba 为左侧面板提供黑色背景色,但具有不透明度,background-color: rgba(0,0,0,0.3);。< /p>

RGBA 颜色值是 RGB 颜色值与 Alpha 通道的扩展 - 它指定对象的不透明度。 RGBA 颜色值通过以下方式指定:rgba(red, green, blue, alpha)。 alpha 参数是 0.0(完全透明)和 1.0(完全不透明)之间的数字。 (W3 学校)

我使用 border-radius:5px; 创建了圆形边框。

结果允许背景图像显示出来,同时宣传白铅文本。

右侧面板和表单

使用 PHP 构建您的初创公司:引导您的主页

为了创建右侧,我创建了一个三单元列,col -md-3。然后,我创建了两个继承相同 0.9 不透明度的 Bootstrap 面板:

['site/auth','mode'=>'signup'], 'popupMode' => false, ]); ?>

    getClients() as $client): ?>
  • clientLink($client) ?>
render('launch');?>

顶部面板中的 AuthClient 小部件显示我在之前的教程中介绍的 Facebook、Google 和 LinkedIn 图标。

视频轮播的垂直边距

使用 PHP 构建您的初创公司:引导您的主页

最后,我只需要确保首屏下方的视频轮播有足够的垂直边距,以免覆盖背景图像。我为此使用了 video-top 类:

.video-top {
  margin-top:23%;
}

23% 的利润率对于桌面和移动设备来说效果很好。这是 HTML:

render('_video_carousel.php',['urlPrefix'=>$urlPrefix]);?>

改进的移动主页

以下是改进后的引导页面在移动设备上的外观:

使用 PHP 构建您的初创公司:引导您的主页

它们更有效。现在,当用户使用移动设备时,他们会立即看到内容,而不仅仅是主图。

下一步是什么?

使用 PHP 构建您的初创公司:引导您的主页

当然,有很多方法可以打磨和改善主页体验。但我希望您今天已经看到,您可以快速利用 Bootstrap 中的常见元素为访问者提供美观的专业体验。到目前为止,我无需聘请外部设计师和 CSS 编码员就能完成所有这些工作。我希望在项目获得资助后的某个时候能够做到这一点。

在接下来的几周内,我将监控访问者与注册者的比例,看看是否实现了改进。

展望未来,我将构建一些功能来改进 Meeting Planner,例如活动规划、更多短信以及支持移动应用的开发。还有很多事情要做。我希望你留在我们身边。

同时,请查看会议筹划器并与您的业务伙伴、家人和朋友分享。

我也即将根据 SEC 新众筹规则的实施与 WeFunder 启动实验。如果您愿意,可以关注我们的个人资料。我还将在以后的教程中详细介绍这一点。

你有自己的想法吗?有想法吗?反馈?您可以随时通过 Twitter @reifman 直接联系我。请观看“使用 PHP 构建您的初创公司”系列中即将推出的教程。

相关链接

  • 简单规划器或会议规划器

  • 构建您的初创公司:运行多个域 (Envato Tuts+)
  • 会议策划者的 WeFunder 页面
  • 使用 Yii2 编程:入门

本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
编程开发
相关文章 更多
using namespace 使用中遇到的问题怎么解决
using namespace 使用中遇到的问题怎么解决

命名空间的基本概念与常见引入问题在C++等编程语言中,命名空间(namespace)是一种将代码标识符(如变量、函数、类名)封装在特定名称下的机制,其主要目的是避免命名冲突,尤其是在大型项目或使用多个第三方库时。使用“using namespace”指令可以将指定命名空间中的所有名称引入当前作用域,

c语言函数递归 实操经验总结:这些技巧很实用
c语言函数递归 实操经验总结:这些技巧很实用

理解递归的基本原理在C语言中,递归是一种函数调用自身的编程技术。要掌握它,首先需要理解其核心思想:将一个复杂的大问题,分解为一个或几个与原问题相似但规模更小的子问题,直到子问题足够简单,可以直接求解。这个过程通常包含两个关键部分:递归出口和递归体。递归出口定义了问题何时不再继续分解,即最简单、可直接

c语言函数递归 怎么选?常见方案对比分析
c语言函数递归 怎么选?常见方案对比分析

递归函数的基本概念与适用场景在C语言编程中,递归是一种函数调用自身的编程技巧。它并非适用于所有问题,但在处理某些具有自相似结构的问题时,能提供极其清晰和优雅的解决方案。递归的核心思想是将一个大规模问题分解为一个或多个同类型但规模更小的子问题,直到子问题简单到可以直接求解。典型的适用场景包括树形结构的

Objective-C 内存管理入门:从 alloc 到 dealloc 的生命周期详解
Objective-C 内存管理入门:从 alloc 到 dealloc 的生命周期详解

理解内存管理的基石在Objective-C的编程世界中,内存管理是开发者必须掌握的核心技能之一。它直接关系到应用的性能、稳定性与资源利用效率。与一些采用自动垃圾回收机制的语言不同,Objective-C在很长一段时间里,依赖一套基于引用计数的、需要开发者部分介入的管理规则。这套规则的核心思想是明确的

如何正确使用 dealloc 以避免 iOS 应用中的内存泄漏
如何正确使用 dealloc 以避免 iOS 应用中的内存泄漏

理解 dealloc 的角色与时机在 iOS 应用开发中,内存管理是保障应用性能与稳定性的基石。dealloc 方法是 Objective-C 中对象生命周期结束时的关键回调,它标志着对象即将被系统回收内存。正确理解其触发时机至关重要:当一个对象的引用计数降为零时,运行时系统会自动调用该对象的 de

深入理解 Objective-C 中的 dealloc 方法:内存管理核心机制
深入理解 Objective-C 中的 dealloc 方法:内存管理核心机制

内存管理的基石在Objective-C的世界里,内存管理是开发者必须掌握的核心技能之一。作为一门在手动引用计数(MRC)时代诞生的语言,Objective-C要求程序员对对象的生命周期有清晰的认识。dealloc方法正是这一生命周期中至关重要的终点站。它是一个实例方法,当对象的引用计数降为零时,系统

理解 native2ascii:Java 国际化开发中的字符编码工具
理解 native2ascii:Java 国际化开发中的字符编码工具

native2ascii 工具的基本定位在Ja va应用程序的国际化与本地化开发过程中,处理非拉丁字符集是一个常见且关键的环节。Ja va内部使用Unicode字符集来统一表示全球各种语言的文字,但其属性文件(.properties)在历史上要求使用ASCII编码,或者更准确地说,要求非ASCII字

如何使用 native2ascii 转换中文字符为 Unicode 转义序列
如何使用 native2ascii 转换中文字符为 Unicode 转义序列

理解 native2ascii 工具的基本用途在软件开发,特别是涉及国际化处理的场景中,开发者常常需要处理不同编码的文本资源。native2ascii 是 Ja va 开发工具包(JDK)中提供的一个命令行实用程序,其主要功能是将包含本地字符编码(非ASCII字符)的文件,转换为包含 Unicode

Java native2ascii 命令详解:解决属性文件乱码问题
Java native2ascii 命令详解:解决属性文件乱码问题

native2ascii 命令的由来与作用在Ja va开发中,处理国际化资源文件是一个常见需求。资源文件通常以.properties格式存储,用于支持多语言界面。然而,Ja va属性文件默认采用ISO-8859-1字符集编码,这导致了一个直接的问题:当文件中包含非拉丁字符(如中文、日文、韩文等)时,

一个 memwatch 实战案例:定位野指针问题
一个 memwatch 实战案例:定位野指针问题

内存监控工具的价值与挑战在软件开发,尤其是使用C/C++这类手动管理内存的语言时,内存错误是程序员最常遭遇的难题之一。其中,野指针问题因其隐蔽性和破坏性,往往成为最难定位的“幽灵”缺陷。它可能潜伏在代码中,在特定条件下才被触发,导致程序崩溃、数据损坏或难以预测的行为。传统的调试手段,如打印日志或使用

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件
macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

Mac软件 更多
灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师
macOS

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

WINDOWS 更多
Windows 10
Windows 10
Windows

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘
Windows/macOS/iOS/Android

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。