餐饮美食网页设计(HTML+CSS+JavaScript)

news2024/11/17 10:00:41

🎀 精彩专栏推荐👇🏻👇🏻👇🏻

✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主
💂 作者主页: 【主页——🚀获取更多优质源码】
🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (1000套) 】
🧡 程序员有趣的告白方式:【💌HTML七夕情人节表白网页制作 (110套) 】
🌎超炫酷的Echarts大屏可视化源码:【🦄 echarts大屏展示大数据平台可视化(150套) 】
🎁 免费且实用的WEB前端学习指南: 【📂web前端零基础到高级学习视频教程 120G干货分享】
🥇 关于作者: 历任研发工程师,技术组长,教学总监;曾于2016年、2020年两度荣获CSDN年度十大博客之星。 十载寒冰,难凉热血;多年过去,历经变迁,物是人非。 然而,对于技术的探索和追求从未停歇。 💪坚持原创,热衷分享,初心未改,继往开来!


📂文章目录

  • 一、👨‍🎓网站题目
  • 二、✍️网站描述
  • 三、📚网站介绍
  • 四、🌐网站效果
  • 五、🪓 代码实现
    • 🧱HTML结构代码
  • 六、🥇 如何让学习不再盲目
  • 七、🎁更多干货


一、👨‍🎓网站题目

🥧 美食网页介绍、🍰甜品蛋糕、🦐地方美食小吃文化、🍺餐饮文化、等网站的设计与制作。


二、✍️网站描述

🍧美食主题网站 主要对各种美食进行展示,让浏览者清晰地了解到各种美食的详细信息,便于浏览者进行选择。该模块的左侧有个美食分类,用户可以选择自己喜欢的种类,当点击种类后,就会在右侧出现该分类下的各种美食,用户可以点击自己感兴趣的食品,从而看到它的具体信息。它的具体信息包括配料、产地及它的一些功能,使用户对该食品有着全面的认识。

👨‍🎓静态网站的编写主要是用HTML DIV+CSS JS等来完成页面的排版设计👩‍🎓,常用的网页设计软件有Dreamweaver、EditPlus、HBuilderX、VScode 、Webstorm、Animate等等,用的最多的还是DW,当然不同软件写出的前端Html5代码都是一致的,本网页适合修改成为各种类型的产品展示网页,比如美食、旅游、摄影、电影、音乐等等多种主题,希望对大家有所帮助。


三、📚网站介绍

📔网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。

📓网站程序方面:计划采用最新的网页编程语言HTML5+CSS3+JS程序语言完成网站的功能设计。并确保网站代码兼容目前市面上所有的主流浏览器,已达到打开后就能即时看到网站的效果。

📘网站素材方面:计划收集各大平台好看的图片素材,并精挑细选适合网页风格的图片,然后使用PS做出适合网页尺寸的图片。

📒网站文件方面:网站系统文件种类包含:html网页结构文件、css网页样式文件、js网页特效文件、images网页图片文件;

📙网页编辑方面:网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad++ 等任意html编辑软件进行运行及修改编辑等操作)。
其中:
(1)📜html文件包含:其中index.html是首页、其他html为二级页面;
(2)📑 css文件包含:css全部页面样式,文字滚动, 图片放大等;
(3)📄 js文件包含:js实现动态轮播特效, 表单提交, 点击事件等等(个别网页中运用到js代码)。


四、🌐网站效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


五、🪓 代码实现

🧱HTML结构代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>启动项</title>
    <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
    <script src="js/jquery-3.0.0.js"></script>
    <script src="https://cdn.bootcss.com/vue/2.6.11/vue.js"></script>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        #mydiv {
            position: absolute;
            width: 530px;
            left: 50%;
            transform: translate(-63%, 0);
            padding-left: 60px;
            padding-top: 100px;

        }

        .form-group div {
            padding: 5px;
        }

        .form-group .control-label {
            padding-top: 13px
        }
    </style>
    <script>
        window.onload = function () {
            var vm = new Vue({
                el: "#mydiv",
                data: {
                    option: 'login',
                    user: {
                        name: "",
                        pwd1: "",
                        pwd2: "",
                        phone: ""
                    },
                    users: []
                },
                methods: {
                    login() {
                        for (var i = 0; i < this.users.length; i++) {
                            var s = false
                            if (this.users[i].name == this.user.name && this.users[i].pwd1 == this.user.pwd1) {
                                alert("登录成功")
                                s = true
                                break
                            }
                        }
                        if (s = true)
                            window.location = "home_page.html"
                        else alert("登录失败")
                    },
                    reg() {
                        if (this.user.pwd1 != this.user.pwd2)
                            alert("两次输入密码不一致,请重新注册")
                        else if (!(this.user.name && this.user.pwd1 && this.user.pwd2 && this.user.phone))
                            alert("信息不全,请重新注册")
                        else {
                            this.users.push(this.user)
                            localStorage.setItem('users', JSON.stringify(this.users))
                            alert("注册成功")
                            this.user = {}
                        }
                    }
                },
                mounted() {
                    if (localStorage.getItem("users")) {
                        this.users = JSON.parse(localStorage.getItem("users"))
                    }
                }
            })
        }
    </script>
</head>

<body style="width: 100%; height: 100%;">
    <img src="image/sky1.jpg" style="width: 100%; height: 100%; position: absolute;">


    <form class="form-horizontal" id="mydiv">
        <h5 :class='{login:option=="login"}' @click="option='login'"
            style="left:82%; top:3px; transform:translate(-50%,0); letter-spacing:5px;color:green;position:absolute;">
            登录/
        </h5>
        <h5 :class='{register:option=="register"}' @click="option='register'"
            style="left: 90%; top:3px; transform:translate(-50%,0); letter-spacing:5px;color:green;position:absolute;">
            注册
        </h5>
        <div v-if="option=='register'">
            <form class="form-horizontal">
                <h2
                    style="left: 60%; top:20px; transform:translate(-50%,0); letter-spacing:5px;color:pink;position:absolute;">
                    注册页面
                </h2>
                <div class="form-group">
                    <label for="name" class="col-sm-3 control-label">姓名:</label>
                    <div class="col-sm-9">
                        <input type="text" class="form-control" id="name" v-model="user.name" placeholder="请输入姓名...">
                    </div>
                </div>
                <div class="form-group">
                    <label for="pwd1" class="col-sm-3 control-label">输入密码:</label>
                    <div class="col-sm-9">
                        <input type="password" class="form-control" id="pwd1" v-model="user.pwd1"
                            placeholder="请输入密码...">
                    </div>
                </div>
                <div class="form-group">
                    <label for="pwd2" class="col-sm-3 control-label">确认密码:</label>
                    <div class="col-sm-9">
                        <input type="password" class="form-control" id="pwd2" v-model="user.pwd2"
                            placeholder="请确认密码...">
                    </div>
                </div>
                <div class="form-group">
                    <label for="phone" class="col-sm-3 control-label">手机号:</label>
                    <div class="col-sm-9">
                        <input type="text" class="form-control" id="phone" v-model="user.phone" placeholder="请输入手机号...">
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-2 col-sm-10">
                        <button type="button" class="btn btn-success" style="margin:0 40%;"
                            @click="reg">&nbsp;&nbsp;&nbsp;&nbsp;</button>
                    </div>
                </div>
        </div>
        <div v-else>
            <h2
                style="left:65%;top:20px; transform: translate(-50%, 0); letter-spacing:15px;color:pink;position:absolute;">
                登录页面</h2>
            <div class="form-group">
                <label for="name" class="col-sm-3 control-label"
                    style="font-size:16px; letter-spacing:2px;">用户名:</label>
                <div class="col-sm-9">
                    <input type="text" class="form-control" id="name" placeholder="请输入用户名..." v-model="user.name">
                </div>
            </div>
            <div class="form-group">
                <label for="Password" class="col-sm-3 control-label"
                    style="font-size:16px; letter-spacing:3px;">&nbsp;&nbsp;码:</label>
                <div class="col-sm-9">
                    <input type="password" class="form-control" id="Password" placeholder="请输入密码..."
                        v-model="user.pwd1">
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-offset-2 col-sm-10">
                    <button type="button" class="btn btn-success" style="margin:0 40%;"
                        @click="login">&nbsp;&nbsp;&nbsp;&nbsp;</button>
                </div>
            </div>
        </div>
    </form>
</body>

</html>




六、🥇 如何让学习不再盲目

很多刚入门编程的小白学习了基础语法,却不知道语法的用途,不知道如何加深映像,不知道如何提升自己,这个时候每天刷自主刷一些题就非常重要(百炼成神),可以去牛客网上的编程初学者入门训练。该专题为编程入门级别,适合刚学完语法的小白练习,题目涉及编程基础语法,基本结构等,每道题带有练习模式和考试模式,可还原考试模式进行模拟,也可通过练习模式进行练习。


七、🎁更多干货

1.如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏” 一键三连哦!

2.💗【👇🏻👇🏻👇🏻关注我| 获取更多源码 | 优质文章】 带您学习各种前端插件、3D炫酷效果、图片展示、文字效果、以及整站模板 、大学生毕业HTML模板 、期末大作业模板 、等! 「在这里有好多 前端 开发者,一起探讨 前端 Node 知识,互相学习」!

3.

以上内容技术相关问题💌欢迎一起交流学习👇🏻👇🏻👇🏻🔥

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/11873.html

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

相关文章

hiveSql 跨N天最大连续统计

hiveSql 跨N天最大连续统计说明需求分析实现最后说明 看到标题可能没太能理解&#xff0c;什么叫跨N天连续&#xff1f;这里解释下&#xff1a; 跨N天连续定义为&#xff1a;登录相隔天数小于N 用跨2天举例&#xff08;即隔一天也算连续登录&#xff09; 例如 &#xff1a; 20…

书桌台灯怎么选?分享儿童卧室灯品牌

书桌少不了的就是台灯&#xff0c;从小到大&#xff0c;不管是学习还是工作&#xff0c;都离不开一张书桌&#xff0c;学生上学学习&#xff0c;书桌就是必不可少的一部分&#xff0c;而选择怎么样的台灯好呢&#xff1f; 最重要的是安全的的光线品质 在照明领域&#xff0c;光…

Matlab 实现 信号的基本运算

实验名称 利用 Matlab 软件的信号处理工具箱(Signal Processing Toolbox)中的专用函数来实现信号的基本运算。 包括 - * 时移、翻转、展缩 运算 实验环境 MATLAB - R2021b 实验目的 了解仿真基本的信号。 sin() 产生正弦信号 ysin(x) x 是自变量 可看做时间向量 plot() …

Quick MTF 照相机镜头图像质量测试程序-UPDATE

Quick MTF&#xff0c;图像质量测试应用程序 Quick MTF 可让您测试数字图像的质量。它具有精确的计算引擎和直观的用户界面&#xff0c;无需特殊培训即可轻松使用。只需使用 Quick MTF 打开测试图像并选择目标区域。 目的 Quick MTF 检查成像设备拍摄的图像质量&#xff0c;让…

【MySQL | 运维篇】07、MySQL 分库分表之 MyCat 管理与监控

目录 一、MyCat原理 二、MyCat管理 三、MyCat-eye 3.1 介绍 3.2 安装 1). zookeeper安装 2). Mycat-web安装 3.3 访问 3.4 配置 1). 开启MyCat的实时统计功能(server.xml) 2). 在Mycat监控界面配置服务地址 3.5 测试 A. 性能监控 B. 物理节点 C. SQL统计 …

【录用案例】CCF-B类,3区智能传感器类SCIEI,仅2个月录用

3区智能传感器类SCI&EI 【出版社】ACM 出版社 【期刊简介】IF:2.0-3.0&#xff0c;JCR3区&#xff0c;中科院4区 【检索情况】SCI&EI 双检&#xff0c;正刊&#xff0c;CCF-B类 【征稿领域】 ①智能城市的绿色通信和传感器网络与机器智能&#xff08;已截稿&#…

【刷题】二叉树遍历思路解析

二叉树遍历 &#xff08;牛客网&#xff09; 题目要求&#xff1a; 编一个程序&#xff0c;读入用户输入的一串先序遍历字符串&#xff0c;根据此字符串建立一个二叉树&#xff08;以指针方式存储&#xff09;。 例如如下的先序遍历字符串&#xff1a; ABC##DE#G##F### 其中“…

预览ppt时中文乱码

现象&#xff1a;预览ppt时中文乱码 原因&#xff1a;该后端服务部署的主机没有指定中文字体 解决&#xff1a;用root角色在主机目录 /usr/share/fonts 上传Chinese字体文件 1、上传解压后&#xff0c;去应用上测试&#xff0c;发现页面全空白的&#xff0c; 且后台服务日志…

擎创技术流 | ckman教程(3)CKman源码分析部署集群的主要步骤

叮~您有一个新的技术分享已送达&#xff0c;请注意查收~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 哈喽&#xff0c;各位知乎友友们~ckman使用教程分享已经到第3期啦&#xff0c;不知道大家都掌握了没有呢&#xff1f;没有的话也没关系&#xff0c;点击下方链接&#xff0c;一键回…

centos7 + mysql 8 安装confluence7.19.3

一、安装包下载 1、访问下载连接&#xff0c;进行下载最新的安装包 Confluence Server 下载存档 | Atlassian mkdir -p /data/soft cd /data/soft wget https://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-7.19.3.tar.gz 2、数据库准备 …

单元测试(jest):理解、安装、使用

一、理解单元测试的重要性 bug发现在开发阶段&#xff0c;成本很低&#xff0c; 如果发现在生产环境&#xff0c;成本很高&#xff0c; 如果是关键时刻&#xff0c;决定人生命运&#xff0c;决定企业发展。 从技术的角度讲&#xff0c;有效的提高代码的健壮性&#xff0c;有效…

GO语言集成开发工具环境JetBrains GoLand 2022

JetBrains GoLand 2022是一款专业的GO语言编程软件。JetBrains GoLand支持编码辅助功能&#xff0c;IDE会分析你的代码&#xff0c;然后在符号之间寻找连接。提供代码提示&#xff0c;快速导航&#xff0c;灵活的错误分析能力以及格式化和重构功能。JetBrains GoLand 2022 强大…

docker安装es+mac安装Kibana工具+es查询语法笔记

一、docker安装es 1、下载镜像 docker pull elasticsearch:7.9.0下载完后&#xff0c;查看镜像 docker images​​ 2、启动镜像 docker network create esnetdocker run -d --name es -p 9200:9200 -p 9300:9300 --network esnet -e "discovery.typesingle-node&…

图解CentOS7集群时钟同步chronyd

文章目录概述图步骤1、修改时区2、安装chrony3、选1台机作为时钟服务器4、其他机器同步时间概述 对于物理机集群&#xff0c;需要使用统一的时间&#xff0c;本文使用时钟同步技术来实现 图 图解 默认的 外部网络的 时钟服务器 在国外&#xff0c;速度较慢 0.centos.pool.n…

(表格固定尾列)bower安装的相关问题

遇到需求固定表格尾列&#xff0c;尾列是操作&#xff08;查看&#xff0c;删除&#xff09;这些 尝试了css&#xff0c;js&#xff0c;jquery&#xff0c;插件&#xff0c;layui&#xff0c;elementui各种都没用 freeze-table&#xff08;一个固定表格插件&#xff09; npm i…

【父母必知】呼吸过敏知多少

“吃完鸡蛋后全吐了&#xff0c;是过敏吗&#xff1f;”“湿疹怎么不经意间又出现了&#xff0c;到底吃了什么”“咳嗽总是不好&#xff0c;都说我们是过敏性咳嗽&#xff0c;对什么过敏&#xff1f;”“小时候&#xff0c;湿疹肠绞痛跑到医院&#xff0c;现在鼻炎哮喘还跑到医…

计算机对字节的七种操作

计算机对字节的处理有七种&#xff1a;复制&#xff0c;左移&#xff0c;右移&#xff0c;非&#xff0c;与&#xff0c;或&#xff0c;异或。本篇将回顾一下这几种操作的具体底层实现 四种常见的门结构 到目前为止&#xff0c;我们已经使用了NAND、AND和NOT门。我们需要定义另…

基于soft-RoCE运行OSU Micro Benchmark

之前的文章描述了如何运行Benchmark&#xff0c;但是那个是基于TCP的。现在想要跑一个基于RoCEv2的结果。虚拟机上没有支持infiniband的网卡&#xff0c;那就用Soft RoCE了。 Soft-RoCE的安装和调试 系统版本信息 adminosu-1:~$ uname -a Linux osu-1 5.11.0-44-generic #48~…

1.1 极限的概念

1.1 极限的概念 1.1.1 数列的极限 引言 在物理实验中&#xff0c;如果涉及到测量&#xff0c;那么误差总是存在的。误差是在正确实验的情况下实验测量值与理论值之间的差值。如果理论是正确的并且使用更精密的实验仪器或改进实验方法&#xff0c;那么测量值就会更加接近理论…

sql server卡慢问题定位和排查

一、数据库服务器资源排查 二、数据库sql性能排查 2.1、查询哪些资源被阻塞了 和 堵进程 1&#xff09;、查询哪些资源被阻塞了&#xff08;spid为阻塞进程id&#xff09; select * from sys.sysprocesses where status suspended 2&#xff09;、查询堵进程…