开始

image.png

image.png

  1. <view class="topic-bg">
  2. <image src="../../static/demo/topicpic/13.jpeg" mode="widthFix" lazy-load="true"></image>
  3. </view>

设置宽和高,相对定位,超出隐藏。
image.png
filter模糊效果。
image.png

image.png
分为3行
image.png
一个大view里面再嵌套3个view
image.png

  1. <!-- 话题信息 -->
  2. <view class="topic-info">
  3. <view class="topic-info-t">
  4. </view>
  5. <view class="topic-info-c"></view>
  6. <view class="topic-info-b"></view>
  7. </view>

第一行,头像和标题
image.png

  1. <view class="topic-info-t">
  2. <image src="../../static/demo/topicpic/13.jpeg" mode="widthFix" lazy-load="true"></image>
  3. <view class="">#忆往事,敬余生#</view>
  4. </view>

2、3行
image.png

第一行和第二行都是左右布局,都是flex布局
image.png
最外层加个内边距 上下为0 左右为25
image.png
给头像一个宽度和高度。再加个圆角
image.png

子元素绝对定位。父元素是相对定位。
image.png

  1. .topic-info-t{
  2. position: relative;
  3. }
  4. .topic-info-t>image{
  5. width: 150upx;
  6. height: 150upx;
  7. border-radius: 20upx;
  8. position: absolute;
  9. }

负数是高度的一半,头像要往上浮动图片的一半的高度。
image.png

  1. .topic-info-t>image{
  2. width: 150upx;
  3. height: 150upx;
  4. border-radius: 20upx;
  5. position: absolute;
  6. top: -75upx;
  7. }

图片的宽度是150 ,后面的标题占满剩余的部分 那就是flex:1
image.png

  1. .topic-info-t>view{
  2. font-size: 35upx;
  3. margin-left: 170upx;
  4. flex: 1;
  5. }

第二行

image.png
上下都有间距。上下先都设置20
image.png

  1. .topic-info-c{
  2. padding: 20upx 0;
  3. }

吸取文字的颜色
image.png

image.png

  1. .topic-info-c view{
  2. color: #CDCDCD;
  3. }

最后一行

image.png
文字颜色
image.png
image.png
下边距
image.png

  1. .topic-info-b {
  2. color: #A3A3A3;
  3. font-size: 32upx;
  4. padding-bottom: 10upx;
  5. }

image.png
这里间距有点小了
image.png
标题具体头像的左边距 增加
image.png
上增加,下还是20
image.png
上边距,我在H5端看着高度比较少 自己又改成了35,视频中是30,

  1. .topic-info-c{
  2. padding: 40upx 0 20upx 0;
  3. }

image.png
上边距增大,下边距减小
image.png

image.png

本节代码

  1. <template>
  2. <view>
  3. <view class="topic-bg">
  4. <image src="../../static/demo/topicpic/13.jpeg" mode="widthFix" lazy-load="true"></image>
  5. </view>
  6. <!-- 话题信息 -->
  7. <view class="topic-info">
  8. <view class="topic-info-t u-f-ac">
  9. <image src="../../static/demo/topicpic/13.jpeg" mode="widthFix" lazy-load="true"></image>
  10. <view class="">#忆往事,敬余生#</view>
  11. </view>
  12. <view class="topic-info-c u-f-ac">
  13. <view class="">动态 1000</view>
  14. <view class="">今日 1000</view>
  15. </view>
  16. <view class="topic-info-b">
  17. 我是描述
  18. </view>
  19. </view>
  20. </view>
  21. </template>
  22. <script>
  23. export default {
  24. data() {
  25. return {
  26. }
  27. },
  28. methods: {
  29. }
  30. }
  31. </script>
  32. <style>
  33. .topic-bg{
  34. width: 100%;
  35. height: 300upx;
  36. position: relative;
  37. overflow: hidden;
  38. }
  39. .topic-bg>image{
  40. width: 100%;
  41. position: absolute;
  42. filter: blur(10px);
  43. }
  44. .topic-info{
  45. padding: 0 25upx;
  46. }
  47. .topic-info-t{
  48. position: relative;
  49. }
  50. .topic-info-t>image{
  51. width: 150upx;
  52. height: 150upx;
  53. border-radius: 20upx;
  54. position: absolute;
  55. top: -75upx;
  56. }
  57. .topic-info-t>view{
  58. font-size: 35upx;
  59. margin-left: 170upx;
  60. flex: 1;
  61. }
  62. .topic-info-c{
  63. padding: 40upx 0 15upx 0;
  64. }
  65. .topic-info-c view{
  66. color: #CDCDCD;
  67. }
  68. .topic-info-b {
  69. color: #A3A3A3;
  70. font-size: 32upx;
  71. padding-bottom: 10upx;
  72. }
  73. </style>

结束