当前位置: 首页 > news >正文

网站建设资讯吴川网站建设

网站建设资讯,吴川网站建设,网站提交自动秒收录,app下载官网项目地址 https://github.com/hismeyy/react-component-100 组件描述 组件适用于展示图片的地方,提供了small,medium,large三种大小。可以删除图片,也可以全屏预览图片。 样式展示 前置依赖 今天我们的这个挑战需要用用到了…

项目地址
https://github.com/hismeyy/react-component-100

组件描述
组件适用于展示图片的地方,提供了small,medium,large三种大小。可以删除图片,也可以全屏预览图片。

样式展示

在这里插入图片描述
在这里插入图片描述

前置依赖

今天我们的这个挑战需要用用到了 react-icons 依赖,因此,我们需要先安装它。

# 使用 npm
npm install react-icons# 或者使用 yarn
yarn add react-icons

使用的话,大家可以看这个网站。大家进去可以找需要的图标。具体使用里面有介绍,非常简单。
react-icons 图标
好了,下面我们展示代码。

代码展示

Img.tsx
import { useState } from 'react'
import './Img.css'
import { MdClose } from 'react-icons/md';interface ImgProps {src: string;alt: string;size?: 'small' | 'medium' | 'large';onClose?: () => void;
}const Img = ({ src, alt, size = 'small', onClose }: ImgProps) => {const [showPreview, setShowPreview] = useState(false);const [visible, setVisible] = useState(true);const handleClose = () => {setVisible(false);if (onClose) {onClose();}};if (!visible) return null;return (<div className={`img-container img-${size}`}><button className={`img-close img-close-${size}`} onClick={handleClose}><MdClose /></button><div className={`img img-${size}`} onClick={() => setShowPreview(true)}><img src={src} alt={alt} /></div>{showPreview && (<div className="img-preview-overlay" onClick={() => setShowPreview(false)}><div className="img-preview-content"><img src={src} alt={alt} /></div></div>)}</div>)
}export default Img
Img.css
.img-container {position: relative;
}.img {overflow: hidden;display: flex;align-items: center;justify-content: center;cursor: pointer;border-radius: 5%;
}.img-small {width: 80px;height: 80px;font-size: 10px;
}.img-medium {width: 160px;height: 160px;font-size: 14px;
}.img-large {width: 240px;height: 240px;font-size: 16px;
}.img img {width: 100%;height: 100%;object-fit: cover;object-position: center;
}.img::after {content: "预 览";display: flex;align-items: center;justify-content: center;color: #fff;position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.6);opacity: 0;border-radius: 5%;transition: opacity 0.3s ease;
}.img:hover::after {opacity: 1;
}.img-preview-overlay {position: fixed;top: 0;left: 0;width: 100vw;height: 100vh;background-color: rgba(0, 0, 0, 0.9);display: flex;align-items: center;justify-content: center;z-index: 1000;animation: fadeIn 0.3s ease;
}.img-preview-content {max-width: 90%;max-height: 90vh;position: relative;
}.img-preview-content img {max-width: 100%;max-height: 90vh;object-fit: contain;
}@keyframes fadeIn {from {opacity: 0;}to {opacity: 1;}
}.img-close {all: unset;background-color: rgb(114, 114, 114);border-radius: 50%;color: #fff;font-size: 20px;cursor: pointer;display: flex;align-items: center;justify-content: center;font-weight: bold;position: absolute;transition: all 0.3s ease;z-index: 5;
}.img-close:hover {background-color: rgb(82, 82, 82);transform: scale(1.1);
}.img-close-small {width: 10px;height: 10px;top: -2px;right: -2px;font-size: 10px;
}.img-close-medium {width: 15px;height: 15px;top: -3px;right: -3px;font-size: 15px;
}.img-close-large {width: 20px;height: 20px;top: -5px;right: -5px;font-size: 16px;
}

使用

App.tsx
import './App.css'
import Img from './components/img/img01/Img'function App() {const handleImageClose = () => {console.log('图片被关闭了');};return (<><Imgsrc="https://picsum.photos/500/500"alt="Random image"size="large"onClose={handleImageClose}/></>);
}export default App
http://www.yayakq.cn/news/220592/

相关文章:

  • 机关网站源码服装设计工作室
  • 温州网站建设钢筋工中国好设计
  • 沈阳网站开发公司网站建设gzzhixun
  • 网赌网站建设多少钱深圳营业执照网上申报入口
  • 湛江城乡建设局网站电子商务旅游网站建设策划书
  • 公共资源交易网站建设方案开发小网站一般多少钱一个
  • 东莞市非凡网站建设南京it培训机构
  • 装修公司做宣传在哪个网站app设计原理
  • 网站红色继续好商会网站建设
  • 大气的企业网站源码网站推广的策略有哪些
  • 快速seo整站优化排行东阳高端营销型网站建设品牌
  • 建动画网站需要多少钱什么是网站静态化
  • 工信部企业网站备案吗建设网站个人简介范文
  • 个人博客网站制作教程做网站1核1g服务器够吗
  • 快乐麻花网站源码wordpress访客ip记录
  • 电商网站的需求文档上海网站建设公公司
  • 事业单位网站建设工作方案公司注册资金最低标准
  • 织梦网站需要付费吗wordpress页面属性模板
  • 做网站找哪个部门宁波建网站哪家好
  • 杭州cms建站模板西安网红打卡景点排行榜
  • 网站优化具体怎么做徐州编程培训机构
  • 大气家具营销型网站源码徐东网站建设
  • 建应用网站营销机构代码查询
  • 酒店行业的网站建设wordpress标签列表
  • 网站预订模板怎么做在线制作简历的平台有哪些
  • 优化网站排名解析推广挣钱最快的游戏
  • 商城网站源码免费网页源码在线查看
  • 接帮人家做网站的网站wordpress 水墨
  • 刘洋网站建设 够完美加工平台推荐
  • 吉林网站建设平台一支部一品牌一特色方案