cari
Rumahhujung hadapan webtutorial cssBuat seret dan lepas Imej dengan CSS dalam React

Make an Image drag and drop with CSS in React

React ialah perpustakaan JavaScript yang popular untuk membina antara muka pengguna, dan fleksibiliti serta serba boleh menjadikannya pilihan yang bagus untuk membina aplikasi interaktif. Dalam tutorial ini, kami akan menunjukkan kepada anda cara membuat ciri seret dan lepas untuk imej menggunakan CSS sahaja dalam React.

Langkah 1 —

Untuk bermula, mari sediakan projek React. Anda boleh menggunakan sama ada Create React App atau mana-mana kaedah persediaan lain yang paling sesuai untuk anda. Mari buat aplikasi React menggunakan create-react-app.

npx create-react-app drag-and-drop

Langkah 2 —

Ganti App.js dan App.css dengan kod di bawah.

App.js

import './App.css';

function App() {
  return (
    <div classname="App">
      <h2 id="Select-Image">Select Image:</h2>
      <div classname="image-area">

      </div>
    </div>
  );
}

export default App;

App.css

.App {
  text-align: center;
  width: 100vw;
  height: 100vh;

}

.heading {
  font-size: 32px;
  font-weight: 500;
}

Langkah 3 —

Sekarang buat fail baharu dan komponen ImageContainer.js dalam direktori src dan ambil div untuk bekas seret dan lepas.

ImageContainer.js

import React from 'react';

const ImageContainer = () => {

    return (
        <div classname="image-container">

        </div>
    );
};

export default ImageContainer;

Kemudian buat fail CSS ImageContainer.css dalam direktori src dan tambahkan beberapa gaya dalam bekas imej.

ImageContainer.css

.image-container {
    width: 60%;
    height: 90%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed rgba(0, 0, 0, .3);
}

Langkah 4 —

Sekarang kita akan mengambil div dengan medan input dan tajuk teks input di dalam kelas .image-container dan menambah beberapa gaya dalam fail ImageContainer.css. Kami juga akan mengambil keadaan untuk URL imej dan fungsi onChage untuk keadaan kemas kini.

ImageContainer.js akan menjadi

import React from 'react';
import './ImageContainer.css';

const ImageContainer = () => {
    const [url, setUrl] = React.useState('');

    const onChange = (e) => {
        const files = e.target.files;
        files.length > 0 && setUrl(URL.createObjectURL(files[0]));
    };

    return (
        <div classname="image-container">
            <div classname="upload-container">
                <input type="file" classname="input-file" accept=".png, .jpg, .jpeg" onchange="{onChange}">
                <p>Drag & Drop here</p>
                <p>or</p>
                <p>Click</p>
            </div>
        </div>
    );
};

export default ImageContainer;

ImageContainer.css akan menjadi

.image-container {
    width: 60%;
    height: 90%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed rgba(0, 0, 0, .3);
}

.upload-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: white;
}

.upload-container>p {
    font-size: 18px;
    margin: 4px;
    font-weight: 500;
}

.input-file {
    display: block;
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
}

Langkah 5 —

Kini kami akan pratonton fail imej secara bersyarat. Jika anda telah menjatuhkan imej akan memaparkan imej dan atau menyebabkan kawasan seret dan lepas.

ImageContainer.js akan menjadi

import React from 'react';
import './ImageContainer.css';

const ImageContainer = () => {
    const [url, setUrl] = React.useState('');

    const onChange = (e) => {
        const files = e.target.files;
        files.length > 0 && setUrl(URL.createObjectURL(files[0]));
    };

    return (
        <div classname="image-container">
            {
                url ?
                    <img  classname="image-view" alt="Buat seret dan lepas Imej dengan CSS dalam React" >



<h2>
  
  
  Step 6 —
</h2>

<p>Now we will import the ImageContainer component in our App.js and run our application using the npm start command and have fun while coding.</p>

<p><strong>App.js will be</strong><br>
</p>

<pre class="brush:php;toolbar:false">import './App.css';
import ImageContainer from './ImageContainer';

function App() {
  return (
    <div classname="App">
      <h2 id="Select-Image">Select Image:</h2>
      <div classname="image-area">
        <imagecontainer></imagecontainer>
      </div>
    </div>
  );
}

export default App;

Dalam tutorial ini, kami menunjukkan kepada anda cara membuat ciri drag-and-drop untuk imej hanya menggunakan CSS dalam React.

Atas ialah kandungan terperinci Buat seret dan lepas Imej dengan CSS dalam React. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Pemotongan pelbagai baris dengan CSS tulenPemotongan pelbagai baris dengan CSS tulenApr 19, 2025 am 10:50 AM

Caranya dalam artikel ini masih cukup kemas dan pandai, tetapi ada cara yang kini standard untuk melakukan ini yang mungkin pertaruhan terbaik anda.

Perpustakaan animasi CSSPerpustakaan animasi CSSApr 19, 2025 am 10:46 AM

Terdapat banyak perpustakaan yang ingin membantu anda menghidupkan perkara di web. Ini tidak benar -benar perpustakaan yang membantu anda dengan sintaks atau

Input Warna: Menyelam dalam ke dalam perbezaan silang penyemak imbasInput Warna: Menyelam dalam ke dalam perbezaan silang penyemak imbasApr 19, 2025 am 10:40 AM

Dalam artikel ini, kita akan melihat struktur di dalam elemen, ketidakkonsistenan pelayar, mengapa mereka melihat cara tertentu dalam penyemak imbas tertentu, dan bagaimana

Menyekat elemen (pseudo) ke kotak sempadan ibu bapa 'Menyekat elemen (pseudo) ke kotak sempadan ibu bapa 'Apr 19, 2025 am 10:39 AM

Pernahkah anda mahu memastikan bahawa tiada elemen (pseudo) yang dipaparkan di luar kotak sempadan ibu bapa ' s? Sekiranya anda mempunyai masalah untuk membayangkan apa

Roti bakarRoti bakarApr 19, 2025 am 10:30 AM

Suatu hari, tiba -tiba, saya mula mendengar jenaka tentang roti bakar. Saya tidak tahu apa konteksnya. Saya menganggap beberapa rakan baru mula menceritakan jenaka roti bakar,

Melindungi laluan Vue dengan pengawal navigasiMelindungi laluan Vue dengan pengawal navigasiApr 19, 2025 am 10:29 AM

Pengesahan adalah bahagian yang diperlukan dari setiap aplikasi web. Ini adalah cara yang berguna di mana kita dapat memperibadikan pengalaman dan memuatkan kandungan khusus untuk a

Pendekatan yang berbeza untuk membuat animasi yang terhuyung -huyungPendekatan yang berbeza untuk membuat animasi yang terhuyung -huyungApr 19, 2025 am 10:28 AM

Unsur -unsur animasi, yang paling asas, agak mudah. Tentukan kerangka utama. Namakan animasi. Panggilnya pada elemen.

Hei, mari ' s Buat aplikasi kalendar berfungsi dengan jamStackHei, mari ' s Buat aplikasi kalendar berfungsi dengan jamStackApr 19, 2025 am 10:22 AM

Hei, mari ' s Buat aplikasi kalendar berfungsi dengan jamStack

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.