关于CSS Grid布局

关于CSS Grid布局

实际效果参考

参考代码

vue 复制代码
<template>
	<view class="baseInfo">
		<up-image class="cover" height="160rpx" width="120rpx" :src="bookInfo.cover">
			<template #error>
				<view style="font-size: 24rpx;">加载失败</view>
			</template>
		</up-image>
		<up-text class="title" :text="bookInfo.title" :lines="1" :size="15" bold />
		<up-text class="desc" type="info" :size="14" :text="bookInfo.desc" wordWrap="anywhere" :lines="2" />
		<view class="tags">
			<up-tag class="tag" v-for="tag in bookInfo.tags" :text="tag" size="mini" plain plainFill />
		</view>
	</view>
</template>

<script setup lang="ts">
	import { reactive, ref } from 'vue'
	const props = defineProps({
		bookInfo: {
			type: Object,
			default: '',
		},
	});
</script>

<style scoped lang="scss">
	.baseInfo {
		margin: 2%;
		padding: 2%;
		display: grid;
		grid-template-columns: repeat(1, 120rpx) repeat(5, 1fr);
		/* 第一列固定宽度,其余列自适应 */
		grid-template-rows: repeat(3, auto);
		grid-template-areas:
			"cover title title title title title"
			"cover tags tags tags tags tags"
			"cover desc desc desc desc desc";
		grid-gap: 2%;
		border-radius: 8rpx;
		background-color: #FFF;

		* {
			max-width: 86%;
		}

		.cover {
			grid-area: cover;
		}

		.title {
			grid-area: title;
		}

		.desc {
			color: #080808;
			grid-area: desc;
		}

		.tags {
			grid-area: tags;

			.tag {
				padding-right: 2%;
			}
		}

	}
</style>
相关推荐
命运之光3 小时前
【最新】ChromeDriver最新版本下载安装教程,ChromeDriver版本与Chrome不匹配问题
前端·chrome
星离~4 小时前
Vue响应式原理详解:从零实现一个迷你Vue
前端·javascript·vue.js
梦6505 小时前
React 简介
前端·react.js·前端框架
一只小阿乐5 小时前
react 中的判断显示
前端·javascript·vue.js·react.js·react
光影少年5 小时前
useMemo 和 React.memo区别
前端·react.js·前端框架
小沐°5 小时前
React-页码组件
前端·javascript·react.js
零一科技5 小时前
Vue3学习第三课: ref 与 reactive 选择指南
前端·vue.js
余杭子曰6 小时前
播放状态与播放序列的关系(999篇一线博客第107篇)
前端
e***U8207 小时前
前端路由懒加载实现,React.lazy与Suspense
前端·react.js·前端框架