css 实现GTA5 封面

在这里插入图片描述
上面的图片如何通过css 完成呢。废话不说,直接上代码

<template>
	<view class="movie_report">
		<view class="movie_img" v-for="item in 9" :key="item">
			<image :src="'../../static/'+item+'.png'" ></image>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				
			}
		},
		onLoad() {

		},
		methods: {

		}
	}
</script>

<style lang="scss">
	
	*{
	  box-sizing: border-box;  
	}
	body{
	  padding:0; 
	  margin: 0;
	  background: #23232a;
	}

	image {
	  width:100%;
	  height: 100%;
	  object-fit: cover;
	  object-position: 40% 0;
	}
	
	
	.movie_report{
		  padding: .8rem;
		  background: black;
		  height: 95vh;
		  min-height: 500px;
		  width: 100%;
		  max-width: 600px;
		  margin: auto;
		  margin-top: 2.5vh;
		  border: 1px solid #c9b473;
		  overflow: hidden;
		  display: grid;
		
		  grid-template-columns: 1fr .7fr .3fr 1fr;
		  grid-template-rows: 20% 40% 20% 20%;
		  grid-template-areas: 'one two two three'
		    'four five five five'
		    'six five five five'
		    'six seven eight eight';
	}
	
	.movie_img{
		&:nth-child(1),
		  &:nth-child(2),
		  &:nth-child(3){
		    image{
		      width:120%;
		      height: 120%;
		    }
		  }
		  &:first-child{
		    grid-area: one;
		    clip-path: polygon(0% 0%, 93.24% 0%, 105.04% 110.16%, 0% 90%);
		  }
		  &:nth-child(2){
		    grid-area: two;
		    clip-path: polygon(0% 0%, 108.28% 0%, 96.45% 110.13%, 10.55% 110.93%);
		  }
		  &:nth-child(3){
		    grid-area: three;
		    clip-path:polygon(15.05% 0%, 100% 0%, 99.35% 91.7%, 3.08% 108.48%);
		  }
		  &:nth-child(4){
		    grid-area: four;
		    clip-path: polygon(0% -0.85%, 106.34% 9.98%, 121.32% 65.63%, 99.66% 109.89%, 1.86% 124.41%);
		
		    image {
		      width: 135%;
		      height: 135%;
		    }
		  }
		  &:nth-child(5){
		    grid-area: five;
		    clip-path: polygon(6.4% 6.48%, 47.24% 5.89%, 100% 0%, 98.41% 96.85%, 53.37% 100%, 53% 63.21%, 3.23% 73.02%, 14.30% 44.04%);
		  }
		  &:nth-child(6){
		    grid-area: six;
		    clip-path:  polygon(2.14% 29.3%, 99.34% 15.42%, 98.14% 100.82%, 1.57% 101.2%);
		  }
		  &:nth-child(7){
		    grid-area: seven;
		    clip-path: polygon(7.92% 33.47%, 96.31% 23.39%, 95.38% 100%, 5.30% 100.85%);
		  }
		  &:nth-child(8){
		    grid-area: eight;
		    clip-path: polygon(2.5% 22.35%, 100% 0%, 100% 100%, 1.55% 100%);
		  }
		  &:nth-child(9){
		    grid-row-start: 3;
		    grid-row-end: 4;
		    grid-column-start: 2;
		    grid-column-end: 4; 
		
		    clip-path:polygon(5.94% 28.66%, 100.61% -0.67%, 101.1% 108.57%, 5.4% 126.28%);
		
		    image{
		      object-position: 30% 50%;
		      height: 135%;
		    }
		  }
	}
</style>

css 属性介绍

上面使用的是scss ,那么里面除了经常使用的属性,还用那些属性。

通配符选择器(*)

*代表通配符选择器。它选择了所有元素,无论是什么类型的元素,都会匹配到。使用通配符选择器可能会影响性能

box-sizing

用于控制元素的盒模型如何计算尺寸

说明
content-box此值使得元素的宽度和高度仅包括内容的宽度和高度,不包括边框(border)、内边距(padding)和外边距(margin)
border-box使得元素的宽度和高度包括内容的宽度、内边距和边框的宽度,而不会受到这些值的影响。换句话说,它让你能够更方便地设置元素的尺寸,因为你设置的尺寸会包含边框和内边距,而不会另外计算)

object-fit

通常用于 <img><video> 这样的可替换元素,控制其在其容器中的尺寸调整和裁剪

说明
fill默认值。对象会完全填充其容器,可能会改变其宽高比例,导致拉伸或压缩
contain保持对象的宽高比例,尽可能填充容器,但同时确保对象完全可见
cover保持对象的宽高比例,填充容器并且对象的整个内容都可见。可能会裁剪对象
none对象将保持原始尺寸,忽略容器的尺寸,可能会溢出容器
scale-down对象的尺寸会被缩放到与 nonecontain 中较小的尺寸相匹配

object-position

通常用于 <img><video> 这样的可替换元素,用于控制对象在其容器中的位置。这个属性允许你指定对象在容器中的水平和垂直位置,以便更精确地控制对象的显示位置。它接受像素值、百分比值或关键字值作为参数,用于确定对象在容器中的具体位置

例如,object-position: 50% 50%; 会将对象放置在容器的中心,而 object-position: left bottom; 则会将对象放置在容器的左下角。

grid-template-columns

Grid 布局中用来定义网格容器中列的大小的属性;可以指定一个或多个列的大小。这些大小可以使用长度值(如像素、百分比等)、fr 单位(用于分配可用空间的比例)、minmax() 函数(定义列的最小和最大尺寸)等方式来指定

grid-template-rows

Grid 布局中用来定义网格容器中行的大小的属性;可以指定一个或多个行的大小。这些大小可以使用长度值(如像素、百分比等)、fr 单位(用于分配可用空间的比例)、minmax() 函数(定义行的最小和最大尺寸)等方式来指定

grid-template-areas

Grid 布局中用于创建网格布局的属性之一。它允许你以一种直观的方式定义网格容器中的各个区域;
使用 grid-template-areas,你可以创建一个网格,其中每个单元格都被赋予一个名称,这些名称通常用字符串表示,每个字符串代表一行,并使用空格来分隔不同单元格

&:nth-child()

CSS 中用于选择特定子元素的伪类选择器之一。它允许你选择父元素的特定位置的子元素,并对其应用样式

  • :nth-child(odd) 选择父元素下所有奇数位置的子元素。
  • :nth-child(even) 选择父元素下所有偶数位置的子元素。
  • :nth-child(3n) 选择父元素下每隔三个元素的子元素。
  • :nth-child(2n+1) 选择父元素下所有奇数位置的子元素。

clip-path

用于裁剪元素的可见区域,使其只显示特定形状内的内容,而隐藏其他部分;它接受各种形状的值,包括基本形状(如圆形、椭圆形、多边形等)或使用polygon()函数定义的自定义形状。这些形状可以定义为具体的坐标或百分比,以确定要裁剪的区域

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/241768.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

螺旋矩阵算法(leetcode第54题)

题目描述&#xff1a; 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。示例 1&#xff1a;输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5]示例 2&#xff1a;输入&#xff…

用python打印出菱形图案

你可以使用Python编写一个简单的函数来打印菱形图案。下面是一个例子&#xff0c;这个函数接受一个参数n&#xff0c;表示菱形的高度&#xff0c;然后打印出一个菱形图案&#xff1a; def print_diamond(n): # 上半部分 for i in range(n): print(" " …

接口测试练习步骤

在接触接口测试过程中补了很多课&#xff0c; 终于有点领悟接口测试的根本&#xff1b; 偶是个实用派&#xff5e;&#xff0c;那么现实中没有用的东西&#xff0c;基本上我都不会有很大的概念&#xff1b; 下面给的是接口测试的统一大步骤&#xff0c;其实就是让我们对接口…

滑动窗口如人生,回顾往事不复还———力扣刷题

第一题&#xff1a;长度最小的子数组 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 思路&#xff1a; 第一想法肯定时暴力枚举&#xff0c;枚举数组任何一个元素&#xff0c;把他当起始位置&#xff0c;然后从起始位置找最短区间&#xff0c;使得…

接口测试 — 2.Requests库介绍

1、接口测试的意义&#xff08;优势&#xff09; &#xff08;1&#xff09;更早的发现问题&#xff1a; 不少的测试资料中强调&#xff0c;测试应该更早的介入到项目开发中&#xff0c;因为越早的发现bug&#xff0c;修复的成本越低。 然而功能测试必须要等到系统提供可测试…

微搭低代码实现登录注册功能

目录 1 创建用户数据源2 实现登录逻辑3 搭建登录页面4 设置登录框5 实现登录的逻辑6 用户注册总结 原来产品在创建应用的时候可以创建模型应用&#xff0c;模型应用对应我们小程序的后端。最新的更新已经将模型应用的能力下线&#xff0c;那我们不得不自己实现一下后端的逻辑。…

目前进度记录

目前已经把之前记录的方法都实现了&#xff0c;目前的主函数可以写的更简单比如 int main(int argc, char* argv[]) {KernelClass::create_kernel();MPI_Init(&argc, &argv);kernel().mpi_manager.init_mpi(argc, argv);//创建种群int group1 kernel().conn_manger.c…

链表基础知识(一、单链表)

一、链表表示和实现 顺序表的问题及思考 问题&#xff1a; 1. 中间/头部的插入删除&#xff0c;时间复杂度为O(N) 2. 增容需要申请新空间&#xff0c;拷贝数据&#xff0c;释放旧空间。会有不小的消耗。 3. 增容一般是呈2倍的增长&#xff0c;势必会有一定的空间浪费。例如当…

【CANoe】CANoe手动发送XCP报文读取观测量

文章目录 1、硬件连接&#xff1a;配置CANoe的CAN端口&#xff0c;连接到ECU标定对应的CAN口2、配置CAN IG模块报文&#xff1a;连接XCP&#xff0c;读取观测量&#xff0c;断开XCP3、报文解析4、参考资料 1、硬件连接&#xff1a;配置CANoe的CAN端口&#xff0c;连接到ECU标定…

【JUC】二十七、synchronized锁升级之无锁

文章目录 1、背景2、Monitor、Java对象、线程如何关联起来的&#xff1f;3、synchronized锁升级4、锁升级之无锁 关于synchronized同步&#xff0c;能用无锁结构就不要用锁&#xff1b;能锁块&#xff0c;就不要锁整个方法&#xff1b;能用对象锁&#xff0c;就不要用类锁。 用…

探秘机器学习核心逻辑:梯度下降的迭代过程 (图文详解)

一 需求解函数 f() 和 g()函数分别为求y值和求导数的函数。 目的&#xff1a;求该函数的最小值&#xff1a; 代码&#xff1a; import numpy as np import matplotlib.pyplot as plt f lambda x : (x - 3.5) ** 2 - 4.5 * x 10 g lambda x : 2 * (x - 3.5) - 4.5x np.l…

1.3 什么是接口?什么是接口测试?

上一小节我们认识了C/S和B/S架构,那在B/S架构中,我们测试最常接触的,就是接口。本课程的重点是接口自动化测试,那同学们真的了解什么是接口吗?首先,我们从通俗的角度来看什么是接口。在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发…

ARM day8

1.题目&#xff1a;主机获取从机里面的温湿度数据&#xff0c;并打印出来 结果&#xff1a; 代码&#xff1a; main.c #include "iic.h"#include "si7006.h"void delay(int ms){int i,j;for(i0;i<ms;i){for(j0;j<2000;j);}}int main(){short tem;…

ThingsBoard 前端项目轮播图部件开发

前言 ThingsBoard 是目前 Github 上最流行的开源物联网平台&#xff08;14.6k Star&#xff09;&#xff0c;可以实现物联网项目的快速开发、管理和扩展, 是中小微企业物联网平台的不二之选。 本文介绍如何在 ThingsBoard 前端项目中开发轮播图部件。 产品需求 最近接到产品…

自动化测试、压力测试、持续集成

因为项目的原因&#xff0c;前段时间研究并使用了 SoapUI 测试工具进行自测开发的 api。下面将研究的成果展示给大家&#xff0c;希望对需要的人有所帮助。 SoapUI 是什么&#xff1f; SoapUI 是一个开源测试工具&#xff0c;通过 soap/http 来检查、调用、实现 Web Service …

python笔记(1)安装环境

1&#xff0c;官网下载自己电脑位数的安装包 https://www.python.org/downloads/windows/ install时勾选中add to path&#xff0c;把路径自动添加到环境变量 安装pycharm就不讲了 安装后选中自己的python安装包 file-> setting->project:yourprojectname ->pyt…

k8s-8 ingress

ExternalName类型 当集群外的资源往集群内迁移时&#xff0c;地址并不稳定&#xff0c;访问域名或者访问方式等会产生变化&#xff1b; 使用svc的方式来做可以保证不会改变&#xff1a;内部直接访问svc&#xff1b;外部会在dns上加上解析&#xff0c;以确保访问到外部地址。 …

CleanMyMac X2024(Mac优化清理工具)v4.14.5中文版

CleanMyMac X是一款颇受欢迎的专业清理软件&#xff0c;拥有十多项强大的功能&#xff0c;可以进行系统清理、清空废纸篓、清除大旧型文件、程序卸载、除恶意软件、系统维护等等&#xff0c;并且这款清理软件操作简易&#xff0c;非常好上手&#xff0c;特别适用于那些刚入手苹…

数字中台建设指南(大数据平台)

制定数字中台战略规划&#xff1a;制定符合企业实际情况的数字中台战略规划&#xff0c;明确建设目标、重点任务和时间表。确定数字中台架构&#xff1a;根据企业业务需求和特点&#xff0c;确定数字中台的架构&#xff0c;包括技术架构、应用架构和数据架构。搭建数字中台基础…

java设计模式学习之【享元模式】

文章目录 引言享元模式简介定义与用途实现方式 使用场景优势与劣势在Java中的应用享元模式在Spring中的应用画图示例代码地址 引言 想象一下&#xff0c;您正在开发一个游戏&#xff0c;游戏中有成千上万的树木和建筑。如果每个对象都独立存储它的所有数据&#xff0c;将会占用…