微搭医美小程序官方模板解析

Posted 低代码布道师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微搭医美小程序官方模板解析相关的知识,希望对你有一定的参考价值。

目录
01 全局变量
02 页面变量
上一节中我们已经完成了头部导航和底部导航的搭建,这一节我们看一下官方模板的内容部分是如何完成的。

类比于传统开发,我们传统开发里是通过嵌套div来实现布局的,低代码里的容器就相当于div,它也是层层进行嵌套的

先看看,官方模板的这些容器是怎么一个层次关系

嵌套关系的话一共是三层,最里边这层就是每一块的内容,那我们就按照官方这个嵌套关系,先加一下组件

看官方模板的组件会有一个CLS的图标,这个代表这个组件添加了自定义的样式

那问题就来了,这个样式在哪里存的呢?

一般自定义的样式都是在低码编辑里放的了,我们打开低码编辑器

style就表示样式的意思,根目录是全局样式,这里定义的样式每个页面都可以引用。而页面里的style只是本页面可以使用。

对于小白来说这块可能有一点困难,因为你必须要掌握css,这块知识就需要找一下基础教程来补一补,基础扎实了就比较好理解了。

为了样式上保持一致,我们先把全局样式贴到自己的应用里,全局样式如下:

.content
  background-color: #F2F3F5;//背景色
  width: 100%;//宽度
  padding: 0;//内边距
  margin: 0;//外边距
  height: 100%;//高度
  overflow: hidden;//溢出
  position: absolute;//定位

body
  background-color: #F2F3F5;//背景色
  height: 100%;//高度
  display: block !important;//布局,使用块布局,!important表示这个优先级最高

    /**
     * 可以使用theme中定义的 mixin 和 定义变量
     **/
  
.global-class-name 
  // 使用样式变量
  // 使用theme中的变量
  // color: @example-primary-color;

  // 默认 px 会转换成 rem,含大写字母 PX 和 Px 则不会转换
  // margin-top: 20px;
  // 使用theme中的混合(mixins)
  // .mixins();
  // 可写嵌套样式
  .global-nest-class 
    // color: #fff;
    // 使用theme中的混合(mixins)
    // .mixins(green);
  


css以.开头的叫类选择器,意思不管什么样的组件都可以使用这个样式,如果前边没有.的例如body叫类型选择器,会影响到这个标签的样式。


全局样式设置好后,我们需要设置一下首页的样式,代码如下:


  
    /**
     * 可以使用theme中定义的 mixin 和 定义变量
     **/
  
.index-class-name 
  
  // 使用theme中的变量
  // color: @example-primary-color;

  // 默认 px 会转换成 rem,含大写字母 PX 和 Px 则不会转换
  // margin-top: 20px;
  // 使用theme中的混合(mixins)
  // .mixins();
  // 可写嵌套样式
  .index-nest-class 
    // color: #fff;
    // 使用theme中的混合(mixins)
    // .mixins(green);
  

body
    background-color: #F2F3F5;

.index-div
  background-color: #F2F3F5;//背景色
  min-height: 1200px;//最新高度
  height: 90%;//高度
 padding-bottom:140px;//下边距

.index-carousel-div
  height: 400px;

.index-carousel
  width: 100%;
    height: 400px;


.index-search
  width: 90%;
  height: 72px;
  background-color: #FFFFFF;
  border-radius: 36px;
  position: relative;
  display: flex;
  bottom: 90%;
  left: 5%;
  justify-content: space-between;
  align-items: center;
  z-index: 2;

.index-search-image
  margin-top: 18px;
  margin-right: 30px;
  width: 48px !important;
  height: 48px !important;
  cursor: pointer;

.index-search-input
  width: 100% !important;
  margin-left: 30px;

.index-grid
  justify-content: center;
  margin-top: 48px;

.index-grid-div
  text-align: center;

.index-grid-image
  width: 72px !important;
  height: 72px !important;

.index-grid-title
  margin-top: 0px;

.index-hot-title-div
  margin-top: 72px;
  margin-bottom: 60px;


.index-hot-desc-div
    display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;



.index-hot-title
  font-family: PingFang-SC-Medium;
  font-size: 32px;
  color: #000000;
  letter-spacing: 0;
  margin-left: 32px;
  font-weight: 700;

.index-more-image
  width: 32px !important;
  height: 32px !important;
  cursor: pointer;


.index-more-title
  font-family: PingFangSC-Regular;
  font-size: 24px;
  color: #8D8D8D;
  letter-spacing: 0;
  text-align: right;
  height: 48px;
  cursor: pointer;
  position: relative;
  top: 8px;
  margin-right: 6px;

.index-hot-card-div
  width: 92%;
  display: grid;
  grid-template-columns: 50% 50% ;
  grid-template-rows: 50% 50% ;
  margin-right: 30px;
  margin-left: 26px;
  // grid-row-gap: 30px;
  grid-column-gap: 16px;

.index-hot-card
  margin-top: 18px;
  width: 98%;
  height: 400px;
  background: #FFFFFF;
  box-shadow: 0 1px 10px 1px rgba(224,224,224,0.30);
  border-radius: 10px;
  // margin-left: 30px;

.index-hot-card-image
  width: 100% !important;
  height: 200px !important;
  opacity: 0.9;

.index-hot-card-title
  width: 296px;
  min-height: 84px;
  height: 84px;
  font-family: PingFangSC-Regular;
  font-size: 26px;
  color: #000000;
  letter-spacing: 0;
  text-align: left;
  line-height: 42px;
  margin:18px 20px 24px 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;

.index-hot-card-desc
  height: 100%;
  width: 100%;
  font-family: PingFangSC-Regular;
  font-size: 26px;
  color: #000000;
  letter-spacing: 0;
  text-align: left;
  line-height: 42px;
  font-weight: 500;

.index-hot-card-btn-div
  display: flex;
  justify-content: space-between;
  margin-left: 20px;
  margin-right: 20px;
  text-align: center;



.index-hot-card-btn
    width: 116px;
  height: 48px;
  background: #B56DCC;
  border-radius: 24px;
  cursor: pointer;

.index-hot-card-price
  font-family: PingFang-SC-Heavy;
font-size: 36px;
color: #B56DCC;
letter-spacing: 0;
text-align: left;
line-height: 52px;
font-weight: 600;

.index-hot-card-price-title
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  font-family: PingFangSC-Regular;
  font-size: 28px;
  color: #FFFFFF;
  letter-spacing: 0;
  line-height: 44px;

.index-grid .lcap-col
  justify-content: center;

.index-employee-display
  display: flex;
  margin-top: 30px;

.index-employee-div
  width: 25%;
  height: 260px;
  margin-left: 26px;

.index-employee-image
  width: 144px !important;
  height: 144px !important;
  border-radius: 50%;

.index-employee-title-div
  text-align: center;
  width: 166px;
  margin-top: 16px;
  position: relative;
  right: 8px;

.index-employee-title
  font-family: PingFangSC-Regular;
  font-size: 28px;
  color: #000000;
  text-align: center;
  line-height: 44px;
  white-space: nowrap !important;

.index-shop-div
  padding-bottom: 20px;
  min-height: 700px;
  width: 90%;
  height: auto;
  margin-left: 5%;
  margin-right: 5%;
  margin-top: 30px;
  background: #FFFFFF;
  box-shadow: 0 2px 20px 2px rgba(224,224,224,0.30);
  border-radius: 16px;

.index-shop-logo
  width: 100% !important;
  height: 280px !important;
  border-radius: 16px 16px 0 0;

.index-shop-mini-logo
  width: 48px !important;
  height: 48px !important;

.index-shop-shop-logo-div
  display: flex;
  padding: 40px 30px 0 43px;


.index-shop-title
  font-family: PingFangSC-Regular;
  font-size: 24px;
  color: #A2A9B0;
  line-height: 36px;
  white-space: nowrap !important;

.index-shop-desc
  margin-left: 18px;
  display: flex;
  justify-content: space-between;
  width: 100%;

.index-shop-right-logo-div
  text-align: center;

.index-shop-right-logo
  width: 40px !important;
  height: 40px !important; 

.index-footer-title
  width: 90%;
  font-family: PingFangSC-Regular;
  font-size: 22px;
  color: #A2A9B0;
  letter-spacing: 0;
  text-align: center;
  margin-left: 5%;
  margin-right: 5%;
  margin-top: 26px;
  margin-bottom: 26px;



.index-footer
  width: 100%;
  height: 136px;
  background: rgba(255,255,255,0.90);
  box-shadow: 0 0 0 0 rgba(0,0,0,0.10);
  filter: blur(20);
  left: 0;
  right: 0;
  bottom: 0;
  position: fixed;
  z-index: 9999;
  display: flex;
  justify-content: space-around;
  align-items: center;

.index-footer-logo-title
  font-family: PingFang-SC-Medium;
  font-size: 22px;
  letter-spacing: 0;

.index-footer-logo-title-current
    color: #B56DCC;

.index-more
  margin-right: 30px;
  display: flex;
  align-items: center;

代码还是蛮多的,那我们先看一下第二层容器设置的样式是什么意思

.index-div
  background-color: #F2F3F5;
  min-height: 1200px;
  height: 90%;
 padding-bottom:140px;

它设置了这个容器的背景色,然后距底部有140像素,最小高度是1200像素,占据了页面整体高度的90%,我们先把这个样式复制到页面上来,看看设置完是什么效果

可以看到,如果没设置样式的时候,容器是默认高度,设置完毕之后容器就撑开了,有了最小的高度。这样我们最外层的容器就设置好了。

限于篇幅,我们本节就到这,本节主要讲解的是容器组件的自定义样式方面的知识,下一节我们介绍首页的第一部分内容广告位的布局。

以上是关于微搭医美小程序官方模板解析的主要内容,如果未能解决你的问题,请参考以下文章

微搭医美美容小程序官方模板解析

医美小程序实战教程

医美小程序实战教程-店铺信息渲染

医美小程序实战教程

医美小程序实战教程

医美小程序实战教程