实现分析

该模块由两个模块组成,一个是标题文字和更多按钮,另一个是图片列表。


模块标题和更多链接

wxml:

<view class="works">
  <view class="container">
    <view class="pubTitle">
      <view class="txt">作品</view>
        <navigator class="more">更多  ></navigator>
      </view>
    <view class="wkMain"></view>
  </view>
</view>
  • 2行添加了container模板,可以套用app.wxss中的全局样式。

wxss:

.pubTitle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40rpx;
}

.pubTitle .txt {
  font-size: 40rpx;
  position: relative;
  padding-left: 20rpx;
}

.pubTitle .txt::before {  /* 伪元素,用来实现标题前的红色竖线 */
  display: block;
  width: 8rpx;
  height: 34rpx;
  background: red;
  content: "";
  position: absolute; /* 绑定父级*/
  left: 0;
  top: 50%;
  margin-top: -15rpx;
}

.pubTitle .more {
  font-size: 34rpx;
  color: #666;
}



图片列表

分析实现思路

要实现这种在图片上添加白色文字的样式:

  • 首先图片要添加中文标题
  • 添加英文标题
  • 在图片上添加一层暗色透明背景,不至于图片太亮,影响字体辨识。



实现

wxml:

  • 这里直接用for循环8次,然后直接调试样式,后期实现可采用js读取接口数据。

      <view class="wkMain">
        <navigator class="box" wx:for="{{8}}">
          <image class="pic" src="/images/xszp1.jpg"></image>
          <view class="ceng">
            <view class="tit">UI作品</view>
            <view class="line"></view>
            <view class="des">UI design works</view>
          </view>
        </navigator>
      </view>

    wxss:

    .wkMain .ceng{
    width:100%;
    height: 100%;
    background: rgba(0,0,0,0.35);
    position: absolute; 
    top: 0;left: 0;
    
    /* 控制对齐居中*/
    color: #fff;  
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items:center ;
    
    /* 防止文字较多时出现卡边,实现自动换行并居中 */
    padding: 0 20rpx;
    box-sizing: border-box;
    text-align: center;
    
    }
    
    .wkMain .ceng .tit{
    font-size: 34rpx;
    }
    .wkMain .ceng .line{
    width: 50rpx;
    height: 2rpx;
    background: #fff;
    margin: 10rpx 0 20rpx;
    }
    .wkMain .ceng .des{
    opacity: 0.6;
    text-transform: uppercase; /* 全部大写 */
    font-size: 24rpx;
    letter-spacing:5rpx/* 字符间隔 */
    }

样式:

css样式补充

伪元素::after/::before

  • :after 伪元素在元素之后添加内容。

这个伪元素允许创作人员在元素内容的最后面插入生成内容。默认地,这个伪元素是行内元素,不过可以使用属性 display 改变这一点。

  • :before 伪元素在元素之前添加内容。

这个伪元素允许创作人员在元素内容的最前面插入生成内容。默认地,这个伪元素是行内元素,不过可以使用属性 display 改变这一点。
https://www.w3school.com.cn/css/pr_pseudo_after.asp

最后修改:2024 年 03 月 14 日
如果觉得我的文章对你有用,请随意赞赏