YouTube responsif dibenamkan dalam Flex
P粉111641966
P粉111641966 2024-03-21 23:20:29
0
1
316

Saya cuba membenamkan YouTube responsif dan beberapa kandungan lain dalam bekas Flex, tetapi bekas tempat benam YouTube itu tidak berkembang, jadi ia sama ada bertindih atau bertindih oleh unsur lain. Saya tidak pasti sama ada saya menerangkannya dengan baik, jadi saya juga membuat kod dan kotak untuk menunjukkan:

https://codesandbox.io/s/objective-mountain-m4dhhb?file=/src/App.js

import { Box, Paper } from "@mui/material";

export default function App() {
  return (
    <Box
      sx={{
        display: "flex",
        flexFlow: "column wrap",
        gap: 2,
        maxWidth: "960px"
      }}
    >
      <Box>
        <Paper
          variant="outlined"
          sx={{
            padding: 2
          }}
        >
          <h2>Some content</h2>
          <Box>
            <p>
              Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla
              maximus at enim in sollicitudin. Nam suscipit tellus sit amet
              porttitor hendrerit. Lorem ipsum dolor sit amet, consectetur
              adipiscing elit. Quisque vel dolor felis. Nulla sodales felis
              iaculis venenatis aliquam. Integer vehicula turpis a mauris
              maximus, eu sagittis ligula dignissim. In faucibus est lacus,
              auctor ornare lacus auctor ut. Morbi vitae ullamcorper nisi.
              Integer non sagittis erat.
            </p>
          </Box>
        </Paper>
      </Box>
      <Box>
        <Paper
          variant="outlined"
          sx={{
            padding: 2
          }}
        >
          <h2>YouTube player</h2>
          <Box sx={{ display: "flex" }}>
            <iframe
              src="https://www.youtube.com/embed/-opb8DdWBIM"
              title="YouTube video player"
              style={{
                margin: "0 auto",
                width: "100%",
                aspectRatio: "16 / 9"
              }}
            />
          </Box>
        </Paper>
      </Box>
      <Box>
        <Paper
          variant="outlined"
          sx={{
            padding: 2
          }}
        >
          <h2>Some other content</h2>
          <p>
            In vehicula a est non tempor. Maecenas ut leo ac arcu sollicitudin
            ullamcorper et vitae lectus. In venenatis lectus purus, non rhoncus
            ante pellentesque a. Sed sollicitudin leo sit amet odio ultricies
            pretium. Mauris eu nibh diam. Sed ante ipsum, efficitur ac leo eget,
            cursus ornare augue. Morbi aliquet porta rhoncus. Quisque ut tellus
            metus. Nam purus arcu, accumsan a dolor at, rhoncus iaculis velit.
            Class aptent taciti sociosqu ad litora torquent per conubia nostra,
            per inceptos himenaeos. Nulla augue metus, semper id varius sit
            amet, congue vitae nunc. Phasellus interdum arcu quis quam tristique
            porta. Curabitur sit amet imperdiet turpis, ut facilisis mauris.
            Aliquam sit amet commodo nisi. Quisque elementum nulla ac
            ullamcorper interdum. Aliquam interdum sed lorem a tempus.
          </p>
        </Paper>
      </Box>
    </Box>
  );
}

Bagaimana saya boleh menukarnya supaya bekas terbenam membesar dan mengecut dengan saiz video terbenam? Terima kasih atas bantuan anda

P粉111641966
P粉111641966

membalas semua(1)
P粉329425839

Kemas kini

Ini adalah penyelesaian kodkotak.

  1. Balut iframe dalam bekas dengan position: "relative" dan tetapkan
    宽度:“100%”.
  2. Tetapkan bekas paddingBottom kepada yang dikehendaki
    Nilai nisbah aspek dinyatakan sebagai peratusan. Contohnya, untuk nisbah bidang 16:9, Gunakan “56.25%” (9 / 16 * 100%).
  3. Tetapkan iframe kepada 位置:“绝对”、顶部:0、左侧:0、宽度:“100%”、高度:“100%”.
  4. Untuk memastikan teks di bawah video tidak tersembunyi, sila tetapkan flexFlow: "column",

Berikut ialah contoh cara untuk mencapai ini:

//Main container box

Beberapa kod lain

YouTube player

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan