web端 小米商城网站总结

一 小米商城页面的分析

目前市面上主流的布局为float布局 , 本人通过flex布局实现了一遍
其中轮播图使用了swiper插件 图标使用了iconfont 尽可能的不使用定位
此为自我规划的结构分析 , 如图所示
在这里插入图片描述

二 小米商城搭建的细节

1 清楚整个页面的整体布局,先整体再局部,先把整体内容规划好,再自上而下的布置每一块内容。
2 明确每个模块要实现怎样的效果,并且自外而内的设置好每个标签的样式。
3 不清楚某个样式怎么设置,可以去浏览器控制台中做相应的调整,调整合适后将样式写到文件中。
4 flex布局最好在父级元素添加display:flex; flex布局写完可以在新版本的浏览器里调,然后代码直接可以复制粘贴
5 在浏览器里hover可以点完:hov 可以查看
6 如果使用浮动布局,要善于使用伪元素清除浮动

.clear::after {content: '';display: block;clear: both;
}

7 em单位为一个相对的度量单位,它通过寻找父标签的font-size(注:若父元素也是em则会继续往上找,1em相对于浏览器是16px)。然后通过计算得出自身的font-size。利用em单位设置便签的width或者height等属性原理也一样。
8 改变font-size的值。height、width的值也需要重新计算。
9 outline (轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。
注:轮廓线不会占据空间,也不一定是矩形。
input元素 outline:0; 或 outline:none; 可以去掉轮廓,便于自定义样式
10 box-sizing: border-box; 边框不纳入计算范围
11 伪类:hover 过渡效果

.header .header_search #search_btn:hover {background-color: #ff6700;color: white;transition: all .2s linear;
}

12 文字超出父级后显示…
在这里插入图片描述

.span16 .product_show p {padding: 0 20px;overflow: hidden;/*超出部分隐藏*/white-space: nowrap;/*不换行*/text-overflow: ellipsis;/*超出部分文字以...显示*/
}

13 鼠标悬浮阴影和上浮效果
在这里插入图片描述

.box-bd ul li:hover{z-index: 2;-webkit-box-shadow: 0 15px 30px rgb(0 0 0 / 10%);box-shadow: 0 15px 30px rgb(0 0 0 / 10%);-webkit-transform: translate3d(0,-2px,0);transform: translate3d(0,-2px,0);    
}

14
:first-child 匹配的是某父元素的第一个子元素,可以说是结构上的第一个子元素。
:first-of-type 匹配的是某父元素下相同类型子元素中的第一个,比如 p:first-of-type,就是指所有类型为p的子元素中的第一个。这里不再限制是第一个子元素了,只要是该类型元素的第一个就行了。
:nth-child(2) 匹配的是某父元素的第二个子元素
:nth-child(odd)匹配的是某父元素的第奇数个子元素
:nth-child(even) 匹配的是某父元素的第偶数个子元素
在这里插入图片描述

/*除了第一个a之外其余的都应用如下样式 俩个代码都可以实现,任选其一即可*/
.footer .footer-service ul li:not(:first-child) a::before{content: "";position: absolute;background: #e0e0e0;width: 1px;height: 1.2em;margin-top: 4px;margin-left: -60px;
}/* .footer .footer-service ul li a::before{content: "";position: absolute;background: #e0e0e0;width: 1px;height: 1.2em;margin-top: 4px;margin-left: -60px;
} */
/* .footer .footer-service ul li:first-child a::before{display: none;
} */

15 vertical-align 属性
在行内元素的基线相对于该元素所在行的基线的垂直对齐 , 允许指定负长度值和百分比值
在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。
16 伪类操控相邻元素

<div class="consumer-region">关注小米:<a href="https://weibo.com/xiaomishangcheng" target="_blank"><em class="iconfont">&#xe601;</em></a><span href="#"><em class="iconfont">&#xe62d;</em></span><img src="img/section/wx-img.png" alt="">
</div>
.footer .footer-links .footer-contact .consumer-region span:hover +img{display: block;
}

17 伪类操控子元素

/* 因为给a的子元素em单独设置过颜色 所以此处如果不指定em 直接作用在a则hover不生效 */
.footer .footer-links .footer-contact .consumer-region a:hover em{color: #ff6700;
}

三 拓展内容

关于swiper

轮播图部分参照了swiper插件

1.找到swiper的使用方法 https://www.swiper.com.cn/usage/index.html
2.正确引入,正确的定义
高度和宽度也要给 不然容易出问题
例 :
.swiper-container {
width: 600px;
height: 300px;
}
3.swiper-slide中的slide1 2 3替换为 img标签即可
4.其他更改问题参照文档

应用在此项目中需注意的点 :
js文件应在后面引入,在前面引入可能不生效
在这里插入图片描述

<div class="swiper_controls"><div class="span16-swiper-button-prev"><span><input type="button" class="iconfont" value="&#xe603;"></span></div><div class="span16-swiper-button-next"><span><input type="button" class="iconfont" value="&#xe64a;"></span></div>
</div>
/* 
此条内容需要注意的点:
my-button-disabled:前进后退按钮不可用时的类名。
例如在第一个slide时,后退按钮不可用,该按钮会添加一个不可用时的类名。
如下所示 此类名后空格也可以获取子元素 对子元素设置样式 
*/
.span16-swiper .span16-my-button-disabled input {opacity: .4;
}/* 此条内容需要注意的点: 
如果写成.span16-swiper .span16-my-button-disabled input:hover
则会出现前进按钮好用 后退按钮不好用的情况 ,写成如下情况则好用
*/
.span16-swiper .swiper_controls .span16-my-button-disabled input:hover {cursor: default;color: #b0b0b0;
}
var my_span_Swiper = new Swiper('.span16-swiper-container', {slidesPerView: 4,spaceBetween: 30,slidesPerGroup: 4,loop: false, //自动循环loopFillGroupWithBlank: false,pagination: {},navigation: {nextEl: '.span16-swiper-button-next',prevEl: '.span16-swiper-button-prev',disabledClass: 'span16-my-button-disabled',},
});

在这里插入图片描述

<div class="swiper-container"><div class="swiper-wrapper"><div class="swiper-slide"><a href=""><img src="img/Swiper/175b22f0032803f8bdbd94590c8c6629.webp"alt=""></a> </div><div class="swiper-slide"><a href=""><img src="img/Swiper/5084e471aa2554867cd1c9bf333a83e4.webp"alt=""></a> </div><div class="swiper-slide"><a href=""><img src="img/Swiper/86430f36ae03c99b9f5156544f50efca.webp"alt=""></a> </div><div class="swiper-slide"><a href=""><img src="img/Swiper/9d0f9e0184661354b44381b1920f8c01.jpeg"alt=""></a> </div><div class="swiper-slide"><a href=""><img src="img/Swiper/a5ebb3ecd10ba5b5f1fa25125d034492.webp"alt=""></a> </div><div class="swiper-slide"><a href=""><img src="img/Swiper/d2e2db65581b5977e508550ba405c436.webp"alt=""></a> </div></div><!-- 如果需要分页器 --><div class="swiper-pagination"></div><!-- 如果需要导航按钮 --><div class="swiper-button-prev swiper-button-white"></div><div class="swiper-button-next swiper-button-white"></div><!-- 如果需要滚动条 --><!-- <div class="swiper-scrollbar"></div> -->
</div>
/* 轮播图 */
.swiper-container {width: 1226px;height: 460px;/* 两种都可以 *//* --swiper-theme-color: #fff;--swiper-pagination-color: #fff; */--swiper-navigation-color: #00ff33;/* 单独设置按钮颜色 */--swiper-navigation-size: 30px;/* 设置按钮大小 */
}.swiper-container .swiper-pagination {width: 200px;bottom: 20px;left: auto;right: 0;
}/* 激活样式应在默认样式之后,否则不生效 */.swiper-pagination-bullet {width: 6px;height: 6px;border: 2px solid #fff;border-color: hsla(0, 0%, 100%, .3);/* border-radius: 10px; *//* overflow: hidden; */background: rgba(0, 0, 0, .4);opacity: 1;
}.my-bullet-active {border: 2px solid #fff;border-color: rgba(0, 0, 0, .4);background: hsla(0, 0%, 100%, .4);opacity: 1;
}.swiper-pagination-bullet,
.my-bullet-active:hover {cursor: pointer;
}.show_Content .swiper-slide img {width: 100%;
}/* 轮播图前进后退按钮 */.swiper-button-prev {left: 245px;
}
var mySwiper = new Swiper('.swiper-container', {// 垂直切换选项 , 默认是水平// direction: 'vertical', loop: true, // 循环模式选项autoplay: true, //自动切换autoplay: {delay: 1000,// 如果设置为true,当切换到最后一个slide时停止自动切换。(loop模式下无效)stopOnLastSlide: false,// 用户操作swiper之后,是否禁止autoplay。默认为true:停止。disableOnInteraction: false,// 鼠标置于swiper时暂停自动切换,默认关闭此功能。// 6.6.2之前的版本需要通过代码实现此功能 // pauseOnMouseEnter: true,},// 如果需要分页器pagination: {el: '.swiper-pagination',clickable: true,//修改分页器样式bulletClass: 'swiper-pagination-bullet',//激活样式bulletActiveClass: 'my-bullet-active',clickableClass: 'my-pagination-clickable',},// 如果需要前进后退按钮navigation: {nextEl: '.swiper-button-next',prevEl: '.swiper-button-prev',},// 如果需要滚动条scrollbar: {el: '.swiper-scrollbar',},})//6.6.2之前的版本需要通过代码实现此功能mySwiper.el.onmouseover = function () {mySwiper.autoplay.stop();}mySwiper.el.onmouseout = function () {mySwiper.autoplay.start();}//鼠标滑过pagination控制swiper切换// for (i = 0; i < mySwiper.pagination.bullets.length; i++) {//     mySwiper.pagination.bullets[i].onmouseover = function () {//         this.click();//     }// }

关于字体图标
字体图标参考了iconfont
本次实现其中针对于第一种iconfont的引入方式 ,只需引入css文件和font文件即可
注:
1 文件路径不要错
2 html标签上要加上class=“iconfont”
3 针对于调整字体图标大小的问题只要修改font-size即可,且尽量使用em单位更改
在这里插入图片描述
双标签引入 :

<ul><li><a href="#"> <i class="iconfont">&#xe629;</i> 预约维修服务</a></li><li><a href="#"> <i class="iconfont">&#xe691;</i> 7天无理由退货 </a></li><li><a href="#"> <i class="iconfont">&#xe606;</i> 15天免费换货 </a></li><li><a href="#"> <i class="iconfont">&#xe61c;</i> 满69包邮 </a></li><li><a href="#"> <i class="iconfont">&#xe62e;</i> 520余家售后网点 </a></li>
</ul>

单标签引入 :

<input type="button" class="iconfont" value="&#xe64a;">

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue+elementui实现app布局小米商城,样式美观大方,功能完整

目录 一、项目效果在线预览 二、效果图 1.首页效果图 2.分类&#xff0c;动态分类商品数据根据所属分类动态切换 3.购物车&#xff0c;动态添加购物车&#xff08;增、删、改、查&#xff09; 4.我的 5.登录注册 6.商品详情 7.搜索&#xff08;动态模糊搜索、搜索历史…

分析小米商城左侧菜单的布局和效果实现

小米左侧菜单如图&#xff1a; 也就是说&#xff0c;在没有点击左侧菜单的时候&#xff0c;背景是一个轮播图&#xff0c;一旦点击了左侧菜单&#xff0c;或者说鼠标在左侧菜单上滑动&#xff0c;那么就会触发左侧菜单的动画演示&#xff0c;这次就是来分析动画演示的具体是怎么…

前端项目 仿小米商城

这是本人入手前端以来第一个项目&#xff0c;不算简单也不算难都是一些很基础但在HTML和CSS中算是比较核心的东西&#xff0c;比如CSS中的定位&#xff0c;各种选择器都有所涉及。这次做的是一个商城首页&#xff0c;像这种类型的有很多都可以拿来练手&#xff0c;望大家指教&a…

百度设置小度机器人出现

一篇小干货&#xff0c;在浏览器中打开百度搜索 https://www.baidu.com/ 找到右上角设置按钮&#xff0c;点开 选择搜索设置&#xff0c;出现如图&#xff0c;我用的是firefox&#xff0c;不过浏览器不重要滴&#xff0c;大家可以用chrome或者其他都行 如果呢正常登陆了百度账…

小爱(小米),天猫精灵(阿里),小度(百度),小艺(华为)智能家居系统选择

现在的智能家居系统可谓群雄逐鹿,不少人在琳琅满目智能家居产品中选择时候,会陷入纠结,到底选择小米系比较好呢,还是选择阿里系好呢等等。针对此问题,那么现在就简单介绍一下目前主流的四种智能家居系统。 一、分类 首先从分类上,看看各个智能家居系统有什么区别。 1、…

使用微软New Bing Chat GPT-4生成AI图像的技巧

在聊天的创意模式中&#xff0c;你现在可以要求Bing为你创建一个全新的图像&#xff0c;只用你的话语。只需说 "为我创建一个图像 "或 "为我绘制一个图像"&#xff0c;最后准确地说出你要找的东西。当你的描述性更强时&#xff0c;Image Creator的效果最好…

数字孪生城市典型场景与应用案例(2020年)附下载

前言 数字孪生城市经过三年的概念培育期&#xff0c;目前已经步入落地实施阶段&#xff0c;各地不同程度地推进数字孪生城市规划建设和行业应用创新实践。中国信息通信研究院联合数字孪生城市生态圈合作伙伴&#xff0c;在推出《数字孪生城市白皮书 &#xff08;2020年&#xf…

数字孪生:数字世界与现实世界的交汇

数字孪生是一种崭新的技术&#xff0c;指将现实世界中的物理实体、系统或过程通过数字化技术在虚拟数字世界中建立起虚拟模型。数字孪生可以帮助人们以更小的成本地理解和预测现实世界中的物理实体、系统或过程的行为和性能&#xff0c;从而提高生产效率、降低成本、减少风险等…

数字孪生技术助力孪生新时代与智慧城市的整合

智慧城市是把新一代的信息技术灵活运用在城市中各个行业基于知识社会新一代创新&#xff08;创新2.0&#xff09;的城市信息化管理高等级形态&#xff0c;实现信息化、工业化与城镇化紧密结合&#xff0c;有利于缓解“大城市病”&#xff0c;提升 城镇化品质&#xff0c;实现精…

数字孪生主题汇总 2023-03-24

数字孪生是充分利用物理模型、传感器更新、运行历史等数据&#xff0c;集成多学科、多物理量、多尺度、多概率的仿真过程&#xff0c;在虚拟空间中完成映射&#xff0c;从而反映相对应的实体装备的全生命周期过程。数字孪生是一种超越现实的概念&#xff0c;可以被视为一个或多…

数字孪生与元宇宙:数字化科技的双向融合之路

概念 &#xff08;1&#xff09;元宇宙&#xff08;Metaverse&#xff09;是一个虚拟的三维世界&#xff0c;由数字内容和物理世界中的现实空间相互交织而成&#xff0c;能够提供各种虚拟体验&#xff0c;例如虚拟现实、增强现实、虚拟社交、虚拟经济等。在元宇宙中&#xff0…

数字孪生发展阶段报告与背景规划,面临数字孪生机遇。

早在2003年&#xff0c;数字孪生思想就由密歇根大学的 Michael Grieves 命名为“信息镜像模型”&#xff08;Information Mirroring Model&#xff09;&#xff0c;而后演变为“数字孪生”的术语。 数字孪生发展阶段报告与背景规划&#xff0c;面临数字孪生机遇。 北京智汇云舟…

数字孪生:连结现实与数字世界

作者&#xff1a;德勤洞察 来源&#xff1a;《软件与集成电路》2020年第5期 试想一下&#xff0c;你拥有一个现实世界的完美数字副本&#xff1a;数字孪生。它可以帮助你开展虚拟协作&#xff0c;快速获取传感器数据并模拟条件&#xff0c;清楚地了解假设情景&#xff0c;更能精…

干货分享——数字孪生应用与现实世界的虚实交互

数字孪生技术是实现行业数字孪生应用的基础&#xff0c;能够基于真实地理信息&#xff0c;集合物理世界 各种要素&#xff0c;通过计算机实时渲染生成的可交互三维仿真场景&#xff0c;实现物理世界对象在数据世界 中完成精准映射、真实重现。 通过数字孪生与实际业务的紧密…

现代版的大案牍术:数字孪生在城市的应用

来源&#xff1a;阿里研究院 最近大火的电视剧《长安十二时辰》中&#xff0c;靖安司大规模启用秘密核武器——大案牍术&#xff0c;书吏们从各个部门汇总来的人员往来、钱粮货物流水中寻找到蛛丝马迹甚至未卜先知&#xff0c;再结合长安版的5G通讯——望楼通信与大沙盘&#x…

数字孪生的主要应用领域

老于笔记03.07 与其取悦别人&#xff0c;不如快乐自己&#xff0c;能把困苦的生活&#xff0c;活出诗意&#xff0c;把薄情的世界活出深情&#xff0c;这才是本事。 前言 上篇文章介绍了数字孪生相关的知识&#xff0c;自数字孪生概念提出以来&#xff0c;已经被广泛应用到各领…

数字孪生助力城市智慧化发展的意义与前景

从上世纪80年代开始&#xff0c;城市的智慧化发展就进入了一个快车道。 在我国&#xff0c;自2015年开始&#xff0c;国家提出了智慧城市的概念后&#xff0c;各地纷纷开始建设并开展智慧城市的试点工作&#xff0c;截止到2020年底&#xff0c;我国已经有超过100个城市发布建设…

数字孪生重点商业实践展示

数字孪生是一个系统或一组对象的虚拟表示。数字孪生背后的技术旨在准确反映系统的生命周期和应用程序&#xff0c;并使用机器学习、模拟和人工智能的组合来帮助在现实生活中运行之前对使用、问题或效率进行建模。如今&#xff0c;数字孪生技术的爆火离不开人们对其商业价值的看…

数字孪生赛博朋克风格智慧城市

霓虹之下的机械义肢&#xff0c;孤独黑客的代码觉醒&#xff0c;隐匿于雨夜的反叛灵魂…这些具有独一无二锐利感的画面&#xff0c;让“赛博朋克”这个起源自80年代的文化命题已经从小众文化火出圈&#xff0c;渗透至主流社会跃升为审美时尚。 智慧城市 图扑也同样在践行这种…

【数字孪生】三谈“数字孪生”——更深入的研究与应用

数字孪生&#xff08;Digital Twin&#xff09;&#xff0c;并非今天才产生&#xff0c;已经走过了几十年的发展历程&#xff0c;只不过以前没有这样命名&#xff0c;而是走到了一定的发展阶段&#xff0c;人们意识到可以给这种技术起一个更确切的名字。实际上&#xff0c;自从…