pictureCube.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976
  1. <template>
  2. <!-- 图片魔方 -->
  3. <view v-if="picList.length">
  4. <common-wrapper :config="configData">
  5. <view class="pictureCube">
  6. <view class="advert1" v-if="style == 0">
  7. <view
  8. class="item"
  9. v-for="(item, index) in picList"
  10. :key="index"
  11. :style="[imgGap]"
  12. @click="goDetail(item)"
  13. >
  14. <easy-loadimage
  15. mode="widthFix"
  16. width="100%"
  17. :height="imageH + 'px'"
  18. :image-src="item.image"
  19. class="image"
  20. :borderRadius="imgBorderRadius"
  21. ></easy-loadimage>
  22. </view>
  23. </view>
  24. <view class="advert2" v-else-if="style == 1">
  25. <view
  26. class="item"
  27. v-for="(item, index) in picList"
  28. :key="index"
  29. :style="[imgGap]"
  30. @click="goDetail(item)"
  31. >
  32. <easy-loadimage
  33. mode="aspectFill"
  34. width="100%"
  35. :height="imageH + 'rpx'"
  36. :image-src="item.image"
  37. class="image"
  38. :borderRadius="imgBorderRadius"
  39. ></easy-loadimage>
  40. </view>
  41. </view>
  42. <view class="advert3" v-else-if="style == 2">
  43. <view
  44. class="item"
  45. v-for="(item, index) in picList"
  46. :key="index"
  47. :style="[imgGap]"
  48. @click="goDetail(item)"
  49. >
  50. <easy-loadimage
  51. mode="aspectFill"
  52. width="100%"
  53. :height="imageH + 'rpx'"
  54. :image-src="item.image"
  55. class="image"
  56. :borderRadius="imgBorderRadius"
  57. ></easy-loadimage>
  58. </view>
  59. </view>
  60. <view class="advert4" :style="[autoHeight]" v-else-if="style == 3">
  61. <view class="item">
  62. <view class="pic" :style="[imgGap]" @click="goDetail(picList[0])">
  63. <easy-loadimage
  64. mode="aspectFill"
  65. width="100%"
  66. height="100%"
  67. :image-src="picList[0].image"
  68. class="image"
  69. :borderRadius="imgBorderRadius"
  70. ></easy-loadimage>
  71. </view>
  72. <view class="pic" :style="[imgGap]" @click="goDetail(picList[1])">
  73. <easy-loadimage
  74. mode="aspectFill"
  75. width="100%"
  76. height="100%"
  77. :image-src="picList[1].image"
  78. class="image"
  79. :borderRadius="imgBorderRadius"
  80. ></easy-loadimage>
  81. </view>
  82. </view>
  83. <view class="item" :style="[imgGap]" @click="goDetail(picList[2])">
  84. <easy-loadimage
  85. mode="aspectFill"
  86. width="100%"
  87. height="100%"
  88. :image-src="picList[2].image"
  89. class="image"
  90. :borderRadius="imgBorderRadius"
  91. ></easy-loadimage>
  92. </view>
  93. </view>
  94. <view class="advert5" :style="[autoHeight]" v-else-if="style == 4">
  95. <view class="item" :style="[imgGap]" @click="goDetail(picList[0])">
  96. <easy-loadimage
  97. mode="aspectFill"
  98. width="100%"
  99. height="100%"
  100. :image-src="picList[0].image"
  101. class="image"
  102. :borderRadius="imgBorderRadius"
  103. ></easy-loadimage>
  104. </view>
  105. <view class="item">
  106. <view class="pic" :style="[imgGap]" @click="goDetail(picList[1])">
  107. <easy-loadimage
  108. mode="aspectFill"
  109. width="100%"
  110. height="100%"
  111. :image-src="picList[1].image"
  112. class="image"
  113. :borderRadius="imgBorderRadius"
  114. ></easy-loadimage>
  115. </view>
  116. <view class="pic" :style="[imgGap]" @click="goDetail(picList[2])">
  117. <easy-loadimage
  118. mode="aspectFill"
  119. width="100%"
  120. height="100%"
  121. :image-src="picList[2].image"
  122. class="image"
  123. :borderRadius="imgBorderRadius"
  124. ></easy-loadimage>
  125. </view>
  126. </view>
  127. </view>
  128. <view class="advert6" :style="[autoHeight]" v-else-if="style == 5">
  129. <view class="item" :style="[imgGap]" @click="goDetail(picList[0])">
  130. <easy-loadimage
  131. mode="aspectFill"
  132. width="100%"
  133. height="100%"
  134. :image-src="picList[0].image"
  135. class="image"
  136. :borderRadius="imgBorderRadius"
  137. ></easy-loadimage>
  138. </view>
  139. <view class="item">
  140. <view class="pic" :style="[imgGap]" @click="goDetail(picList[1])">
  141. <easy-loadimage
  142. mode="aspectFill"
  143. width="100%"
  144. height="100%"
  145. :image-src="picList[1].image"
  146. class="image"
  147. :borderRadius="imgBorderRadius"
  148. ></easy-loadimage>
  149. </view>
  150. <view class="pic" :style="[imgGap]" @click="goDetail(picList[2])">
  151. <easy-loadimage
  152. mode="aspectFill"
  153. width="100%"
  154. height="100%"
  155. :image-src="picList[2].image"
  156. class="image"
  157. :borderRadius="imgBorderRadius"
  158. ></easy-loadimage>
  159. </view>
  160. </view>
  161. </view>
  162. <view class="advert7" :style="[autoHeight]" v-else-if="style == 6">
  163. <view class="item">
  164. <view class="pic" :style="[imgGap]" @click="goDetail(picList[0])">
  165. <easy-loadimage
  166. mode="aspectFill"
  167. width="100%"
  168. height="100%"
  169. :image-src="picList[0].image"
  170. class="image"
  171. :borderRadius="imgBorderRadius"
  172. ></easy-loadimage>
  173. </view>
  174. <view class="pic" :style="[imgGap]" @click="goDetail(picList[1])">
  175. <easy-loadimage
  176. mode="aspectFill"
  177. width="100%"
  178. height="100%"
  179. :image-src="picList[1].image"
  180. class="image"
  181. :borderRadius="imgBorderRadius"
  182. ></easy-loadimage>
  183. </view>
  184. </view>
  185. <view class="item" :style="[imgGap]" @click="goDetail(picList[2])">
  186. <easy-loadimage
  187. mode="aspectFill"
  188. width="100%"
  189. height="100%"
  190. :image-src="picList[2].image"
  191. class="image"
  192. :borderRadius="imgBorderRadius"
  193. ></easy-loadimage>
  194. </view>
  195. </view>
  196. <view class="advert8" :style="[autoHeight]" v-else-if="style == 7">
  197. <view
  198. class="item"
  199. :style="[imgGap]"
  200. v-for="(item, index) in picList"
  201. @click="goDetail(item)"
  202. :key="index"
  203. >
  204. <easy-loadimage
  205. mode="aspectFill"
  206. width="100%"
  207. height="100%"
  208. :image-src="item.image"
  209. class="image"
  210. :borderRadius="imgBorderRadius"
  211. ></easy-loadimage>
  212. </view>
  213. </view>
  214. <view class="advert9" :style="[autoHeight]" v-else-if="style == 8">
  215. <view class="item">
  216. <view class="pic" :style="[imgGap]" @click="goDetail(picList[0])">
  217. <easy-loadimage
  218. mode="aspectFill"
  219. width="100%"
  220. height="100%"
  221. :image-src="picList[0].image"
  222. class="image"
  223. :borderRadius="imgBorderRadius"
  224. ></easy-loadimage>
  225. </view>
  226. <view class="pic" :style="[imgGap]" @click="goDetail(picList[1])">
  227. <easy-loadimage
  228. mode="aspectFill"
  229. width="100%"
  230. height="100%"
  231. :image-src="picList[1].image"
  232. class="image"
  233. :borderRadius="imgBorderRadius"
  234. ></easy-loadimage>
  235. </view>
  236. </view>
  237. <view class="item">
  238. <view class="pic" :style="[imgGap]" @click="goDetail(picList[2])">
  239. <easy-loadimage
  240. mode="aspectFill"
  241. width="100%"
  242. height="100%"
  243. :image-src="picList[2].image"
  244. class="image"
  245. :borderRadius="imgBorderRadius"
  246. ></easy-loadimage>
  247. </view>
  248. <view class="pic" :style="[imgGap]" @click="goDetail(picList[3])">
  249. <easy-loadimage
  250. mode="aspectFill"
  251. width="100%"
  252. height="100%"
  253. :image-src="picList[3].image"
  254. class="image"
  255. :borderRadius="imgBorderRadius"
  256. ></easy-loadimage>
  257. </view>
  258. <view class="pic" :style="[imgGap]" @click="goDetail(picList[4])">
  259. <easy-loadimage
  260. mode="aspectFill"
  261. width="100%"
  262. height="100%"
  263. :image-src="picList[4].image"
  264. class="image"
  265. :borderRadius="imgBorderRadius"
  266. ></easy-loadimage>
  267. </view>
  268. </view>
  269. </view>
  270. <view class="advert10" :style="[autoHeight]" v-else-if="style == 9">
  271. <view class="item" :style="[imgGap]" @click="goDetail(picList[0])">
  272. <easy-loadimage
  273. mode="aspectFill"
  274. width="100%"
  275. height="100%"
  276. :image-src="picList[0].image"
  277. class="image"
  278. :borderRadius="imgBorderRadius"
  279. ></easy-loadimage>
  280. </view>
  281. <view class="item">
  282. <view class="pic-wrap">
  283. <view class="pic" :style="[imgGap]" @click="goDetail(picList[1])">
  284. <easy-loadimage
  285. mode="aspectFill"
  286. width="100%"
  287. height="100%"
  288. :image-src="picList[1].image"
  289. class="image"
  290. :borderRadius="imgBorderRadius"
  291. ></easy-loadimage>
  292. </view>
  293. </view>
  294. <view class="pic-wrap">
  295. <view class="pic" :style="[imgGap]" @click="goDetail(picList[2])">
  296. <easy-loadimage
  297. mode="aspectFill"
  298. width="100%"
  299. height="100%"
  300. :image-src="picList[2].image"
  301. class="image"
  302. :borderRadius="imgBorderRadius"
  303. ></easy-loadimage>
  304. </view>
  305. <view class="pic" :style="[imgGap]" @click="goDetail(picList[3])">
  306. <easy-loadimage
  307. mode="aspectFill"
  308. width="100%"
  309. height="100%"
  310. :image-src="picList[3].image"
  311. class="image"
  312. :borderRadius="imgBorderRadius"
  313. ></easy-loadimage>
  314. </view>
  315. </view>
  316. </view>
  317. </view>
  318. <view class="advert11" v-else-if="style == 10">
  319. <view class="pic" :style="[imgGap]" @click="goDetail(picList[0])">
  320. <easy-loadimage
  321. mode="scaleToFill"
  322. width="100%"
  323. :height="imageH + 'px'"
  324. :image-src="picList[0].image"
  325. class="image"
  326. :borderRadius="imgBorderRadius"
  327. ></easy-loadimage>
  328. </view>
  329. </view>
  330. <view class="advert12" :style="[autoHeight]" v-else-if="style == 11">
  331. <template v-if="dataConfig.picStyle.docPicList.length">
  332. <view
  333. v-for="(item, index) in dataConfig.picStyle.docPicList"
  334. :key="index"
  335. :style="{
  336. top: `${(item.doc.startY / 375) * 100}%`,
  337. left: `${(item.doc.startX / 375) * 100}%`,
  338. width: `${(item.doc.w / 375) * 100}%`,
  339. height: `${(item.doc.h / 375) * 100}%`,
  340. borderWidth: `${dataConfig.imgConfig.val * 2}rpx`,
  341. }"
  342. class="item"
  343. @click="goDetail(item)"
  344. >
  345. <easy-loadimage
  346. mode="aspectFill"
  347. width="100%"
  348. height="100%"
  349. :imageSrc="item.img"
  350. class="image"
  351. :borderRadius="imgBorderRadius"
  352. ></easy-loadimage>
  353. </view>
  354. </template>
  355. </view>
  356. </view>
  357. </common-wrapper>
  358. </view>
  359. </template>
  360. <script>
  361. import commonWrapper from "./commonWrapper.vue";
  362. export default {
  363. components: { commonWrapper },
  364. name: "pictureCube",
  365. props: {
  366. dataConfig: {
  367. type: Object,
  368. default: () => {},
  369. },
  370. },
  371. data() {
  372. return {
  373. picList: this.dataConfig.picStyle.picList,
  374. style: this.dataConfig.styleConfig.tabVal,
  375. imageH: 0,
  376. };
  377. },
  378. computed: {
  379. configData() {
  380. return {
  381. ...this.dataConfig,
  382. paddingConfig: this.dataConfig.paddingConfig || {
  383. isAll: false,
  384. valList: [
  385. {
  386. val: this.dataConfig.topConfig
  387. ? this.dataConfig.topConfig.val
  388. : 0,
  389. },
  390. {
  391. val: this.dataConfig.prConfig ? this.dataConfig.prConfig.val : 0,
  392. },
  393. {
  394. val: this.dataConfig.bottomConfig
  395. ? this.dataConfig.bottomConfig.val
  396. : 0,
  397. },
  398. {
  399. val: this.dataConfig.prConfig ? this.dataConfig.prConfig.val : 0,
  400. },
  401. ],
  402. },
  403. marginConfig: this.dataConfig.marginConfig || {
  404. isAll: false,
  405. valList: [
  406. {
  407. val: this.dataConfig.mbConfig ? this.dataConfig.mbConfig.val : 0,
  408. },
  409. {
  410. val: 0,
  411. },
  412. {
  413. val: 0,
  414. },
  415. {
  416. val: 0,
  417. },
  418. ],
  419. },
  420. };
  421. },
  422. imgGap() {
  423. return {
  424. borderWidth: `${this.dataConfig.imgConfig.val * 2}rpx`,
  425. };
  426. },
  427. imgBorderRadius() {
  428. let borderRadius = `${this.dataConfig.filletImg.val * 2}rpx`;
  429. if (this.dataConfig.filletImg.type) {
  430. borderRadius = `${this.dataConfig.filletImg.valList[0].val * 2}rpx ${
  431. this.dataConfig.filletImg.valList[1].val * 2
  432. }rpx ${this.dataConfig.filletImg.valList[3].val * 2}rpx ${
  433. this.dataConfig.filletImg.valList[2].val * 2
  434. }rpx`;
  435. }
  436. return borderRadius;
  437. },
  438. autoHeight() {
  439. let windowWidth = uni.getWindowInfo().windowWidth;
  440. return {
  441. height: windowWidth + "px",
  442. };
  443. },
  444. },
  445. mounted() {
  446. this.computedHeight();
  447. },
  448. methods: {
  449. //替换安全域名
  450. setDomain: function (url) {
  451. url = url ? url.toString() : "";
  452. //本地调试打开,生产请注销
  453. if (url.indexOf("https://") > -1) return url;
  454. else return url.replace("http://", "https://");
  455. },
  456. goDetail(url) {
  457. let urls = url.link;
  458. uni.navigateTo({
  459. url: urls,
  460. fail: (e) => {
  461. uni.switchTab({ url: urls });
  462. },
  463. });
  464. // this.$util.JumpPath(urls);
  465. },
  466. computedHeight() {
  467. if (this.picList.length) {
  468. let that = this;
  469. let windowWidth = uni.getWindowInfo().windowWidth;
  470. this.$nextTick((e) => {
  471. if (this.style == 0) {
  472. this.imageH = windowWidth / 2;
  473. } else if ([1, 2].includes(this.style)) {
  474. uni.getImageInfo({
  475. src: that.setDomain(that.picList[0].image),
  476. success: (res) => {
  477. if (res && res.height > 0) {
  478. let height =
  479. res.height *
  480. ((this.style == 1
  481. ? 375
  482. : 250 - that.dataConfig.prConfig.val * 2) /
  483. res.width);
  484. that.$set(that, "imageH", height);
  485. } else {
  486. that.$set(
  487. that,
  488. "imageH",
  489. (this.style == 1
  490. ? 375
  491. : 250 - that.dataConfig.prConfig.val * 2) * 2,
  492. );
  493. }
  494. },
  495. fail: function (error) {
  496. that.$set(
  497. that,
  498. "imageH",
  499. (this.style == 1
  500. ? 375
  501. : 250 - that.dataConfig.prConfig.val * 2) * 2,
  502. );
  503. },
  504. });
  505. } else if (this.style == 10) {
  506. uni.getImageInfo({
  507. src: that.setDomain(that.picList[0].image),
  508. success: (image) => {
  509. this.imageH = (image.height * windowWidth) / image.width;
  510. },
  511. });
  512. }
  513. });
  514. }
  515. },
  516. },
  517. };
  518. </script>
  519. <style lang="scss">
  520. .pageOn {
  521. border-radius: 24rpx !important;
  522. .advertItem01 {
  523. image {
  524. border-radius: 20rpx;
  525. }
  526. }
  527. .advertItem02 {
  528. .item {
  529. &:nth-child(1) {
  530. image {
  531. border-radius: 20rpx 0 0 20rpx;
  532. }
  533. }
  534. &:nth-child(2) {
  535. image {
  536. border-radius: 0 20rpx 20rpx 0;
  537. }
  538. }
  539. }
  540. }
  541. .advertItem03 {
  542. .item {
  543. &:nth-child(1) {
  544. image {
  545. border-radius: 20rpx 0 0 20rpx;
  546. }
  547. }
  548. &:nth-child(2) {
  549. image {
  550. border-radius: 0;
  551. }
  552. }
  553. &:nth-child(3) {
  554. image {
  555. border-radius: 0 20rpx 20rpx 0;
  556. }
  557. }
  558. }
  559. }
  560. .advertItem04 {
  561. .item {
  562. &:nth-child(1) {
  563. image {
  564. border-radius: 20rpx 0 0 20rpx;
  565. }
  566. }
  567. &:nth-child(2) {
  568. .pic {
  569. &:nth-child(1) {
  570. image {
  571. border-radius: 0 20rpx 0 0;
  572. }
  573. }
  574. &:nth-child(2) {
  575. image {
  576. border-radius: 0 0 20rpx 0;
  577. }
  578. }
  579. }
  580. }
  581. }
  582. }
  583. .advertItem05 {
  584. .item {
  585. &:nth-child(1) {
  586. image {
  587. border-radius: 20rpx 0 0 20rpx;
  588. }
  589. }
  590. &:nth-child(2) {
  591. image {
  592. border-radius: 0;
  593. }
  594. }
  595. &:nth-child(4) {
  596. image {
  597. border-radius: 0 20rpx 20rpx 0;
  598. }
  599. }
  600. }
  601. }
  602. .advertItem06 {
  603. .item {
  604. &:nth-child(1) {
  605. image {
  606. border-radius: 20rpx 0 0 0;
  607. }
  608. }
  609. &:nth-child(2) {
  610. image {
  611. border-radius: 0 20rpx 0 0;
  612. }
  613. }
  614. &:nth-child(3) {
  615. image {
  616. border-radius: 0 0 0 20rpx;
  617. }
  618. }
  619. &:nth-child(4) {
  620. image {
  621. border-radius: 0 0 20rpx 0;
  622. }
  623. }
  624. }
  625. }
  626. }
  627. .pictureCube {
  628. display: flex;
  629. background-color: #fff;
  630. .item {
  631. border-width: 0;
  632. border-style: solid;
  633. border-color: transparent;
  634. }
  635. .pic {
  636. border-width: 0;
  637. border-style: solid;
  638. border-color: transparent;
  639. }
  640. .advert1 {
  641. flex: 1;
  642. display: flex;
  643. flex-direction: column;
  644. .item {
  645. flex: 1;
  646. min-height: 0;
  647. border-style: solid;
  648. }
  649. .image {
  650. display: block;
  651. width: 100%;
  652. height: 100%;
  653. }
  654. }
  655. .advert2 {
  656. flex: 1;
  657. display: flex;
  658. .item {
  659. flex: 1;
  660. min-width: 0;
  661. }
  662. .image {
  663. display: block;
  664. width: 100%;
  665. height: 100%;
  666. }
  667. }
  668. .advert3 {
  669. flex: 1;
  670. display: flex;
  671. .item {
  672. flex: 1;
  673. min-width: 0;
  674. }
  675. .image {
  676. display: block;
  677. width: 100%;
  678. height: 100%;
  679. }
  680. }
  681. .advert4 {
  682. flex: 1;
  683. display: flex;
  684. flex-direction: column;
  685. .item {
  686. flex: 1;
  687. min-height: 0;
  688. &:nth-child(1) {
  689. display: flex;
  690. .pic {
  691. flex: 1;
  692. min-width: 0;
  693. }
  694. }
  695. }
  696. .image {
  697. display: block;
  698. width: 100%;
  699. height: 100%;
  700. }
  701. }
  702. .advert5 {
  703. flex: 1;
  704. display: flex;
  705. flex-direction: column;
  706. .item {
  707. flex: 1;
  708. min-height: 0;
  709. &:nth-child(2) {
  710. display: flex;
  711. .pic {
  712. flex: 1;
  713. }
  714. }
  715. }
  716. .image {
  717. display: block;
  718. width: 100%;
  719. height: 100%;
  720. }
  721. }
  722. .advert6 {
  723. flex: 1;
  724. display: flex;
  725. .item {
  726. flex: 1;
  727. min-width: 0;
  728. &:nth-child(2) {
  729. display: flex;
  730. flex-direction: column;
  731. .pic {
  732. flex: 1;
  733. min-height: 0;
  734. }
  735. }
  736. }
  737. .image {
  738. display: block;
  739. width: 100%;
  740. height: 100%;
  741. }
  742. }
  743. .advert7 {
  744. flex: 1;
  745. display: flex;
  746. .item {
  747. flex: 1;
  748. min-width: 0;
  749. &:nth-child(1) {
  750. display: flex;
  751. flex-direction: column;
  752. .pic {
  753. flex: 1;
  754. min-height: 0;
  755. }
  756. }
  757. }
  758. .image {
  759. display: block;
  760. width: 100%;
  761. height: 100%;
  762. }
  763. }
  764. .advert8 {
  765. flex: 1;
  766. display: flex;
  767. flex-wrap: wrap;
  768. .item {
  769. flex: 0 0 50%;
  770. min-width: 0;
  771. }
  772. .image {
  773. display: block;
  774. width: 100%;
  775. height: 100%;
  776. }
  777. }
  778. .advert9 {
  779. flex: 1;
  780. display: flex;
  781. flex-direction: column;
  782. .item {
  783. flex: 1;
  784. min-height: 0;
  785. display: flex;
  786. }
  787. .pic {
  788. flex: 1;
  789. min-width: 0;
  790. }
  791. .image {
  792. display: block;
  793. width: 100%;
  794. height: 100%;
  795. }
  796. }
  797. .advert10 {
  798. flex: 1;
  799. display: flex;
  800. .item {
  801. flex: 1;
  802. min-width: 0;
  803. &:nth-child(2) {
  804. display: flex;
  805. flex-direction: column;
  806. }
  807. }
  808. .pic-wrap {
  809. flex: 1;
  810. min-height: 0;
  811. display: flex;
  812. .pic {
  813. flex: 1;
  814. min-width: 0;
  815. }
  816. }
  817. .image {
  818. display: block;
  819. width: 100%;
  820. height: 100%;
  821. }
  822. }
  823. .advert11 {
  824. flex: 1;
  825. .pic {
  826. width: 100%;
  827. height: 100%;
  828. }
  829. .image {
  830. display: block;
  831. width: 100%;
  832. height: 100%;
  833. }
  834. }
  835. .advert12 {
  836. flex: 1;
  837. position: relative;
  838. .item {
  839. position: absolute;
  840. border-style: solid;
  841. border-color: transparent;
  842. }
  843. .image {
  844. display: block;
  845. width: 100%;
  846. height: 100%;
  847. }
  848. }
  849. .advertItem02 {
  850. // ::v-deep uni-image>img{
  851. // position: unset;
  852. // }
  853. width: 100%;
  854. .item {
  855. width: 50%;
  856. height: auto;
  857. image {
  858. width: 100%;
  859. height: 100%;
  860. display: block;
  861. }
  862. }
  863. }
  864. .advertItem03 {
  865. .item {
  866. width: 33.3333%;
  867. }
  868. }
  869. .advertItem04 {
  870. width: 100%;
  871. .item {
  872. width: 50%;
  873. height: 200px;
  874. .pic {
  875. width: 100%;
  876. height: 100px;
  877. }
  878. image {
  879. width: 100%;
  880. height: 100%;
  881. display: block;
  882. }
  883. }
  884. }
  885. .advertItem05 {
  886. .item {
  887. width: 25%;
  888. }
  889. }
  890. .advertItem06 {
  891. .item {
  892. width: 50%;
  893. height: 100px;
  894. }
  895. }
  896. }
  897. </style>