graceBoxBanner.nvue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <template>
  2. <view class="grace-box-banner grace-border-radius-small"
  3. :style="{backgroundColor:background, paddingTop:padding, paddingBottom:padding}">
  4. <view class="grace-box-items" v-for="(item, index) in items" :key="index">
  5. <view class="grace-flex-center grace-box-line1">
  6. <text :style="{color:color[0],fontSize:fontSize[0]}">{{item[0]}}</text>
  7. <text :style="{color:color[1],fontSize:fontSize[1]}" style="margin-left:2px;">{{item[1]}}</text>
  8. </view>
  9. <text class="grace-box-line2" :style="{color:color[2],fontSize:fontSize[2]}">{{item[2]}}</text>
  10. </view>
  11. </view>
  12. </template>
  13. <script>
  14. export default {
  15. props: {
  16. items:{
  17. type : Array,
  18. default : function () {
  19. return []
  20. }
  21. },
  22. color:{
  23. type : Array,
  24. default : function () {
  25. return ['#333333', '#999999', '#999999']
  26. }
  27. },
  28. fontSize:{
  29. type : Array,
  30. default : function () {
  31. return ['36rpx', '24rpx', '24rpx']
  32. }
  33. },
  34. background : {
  35. type : String,
  36. default : ''
  37. },
  38. padding:{
  39. type : String,
  40. default : '25rpx'
  41. }
  42. }
  43. }
  44. </script>
  45. <style scoped>
  46. .grace-box-banner{flex-wrap:nowrap; flex-direction:row; overflow:hidden;}
  47. .grace-box-items{justify-content:center; width:700rpx; flex:1; text-align:center;}
  48. .grace-box-line1{align-items:center;}
  49. .grace-box-line2{line-height:32rpx; margin-top:3px; text-align:center;}
  50. </style>