在Materialize中创建响应式图片和视频需要哪些类?


Materialize库允许开发者使用预定义的CSS类和JavaScript方法来创建响应式网页设计。我们可以使用Materialize类来定制排版,向网页添加网格,并创建响应式视频和图像。

为了避免图片和视频溢出,使其响应式总是必要的。在本教程中,我们将使用Materialize的不同类来创建响应式图片和视频。

使用“responsive-img”类创建响应式图像

Materialize的“responsive-img”类允许开发者创建响应式图像。它将图像的宽度设置为容器宽度,高度设置为自动。因此,图像不会溢出,但在较小的屏幕上会压缩,在较大的屏幕上可能会模糊。

语法

用户可以按照以下语法使用Materialize的“responsive-img”类来创建响应式图像。

<img class="responsive-img" src="#" >

在上面的语法中,用户可以看到我们需要将“responsive-img”类添加到“img”元素本身。

示例1

在下面的示例中,我们创建了“container”div元素。在“container”div元素中,我们添加了图像和文本。

在CSS中,我们将容器的宽度设置为60%。我们还设置了文本和图像的宽度。在输出中,用户可以观察到图像尺寸会根据屏幕尺寸而改变。

<html>
<head>
   <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.3/css/materialize.min.css">
   <script src = "https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.3/js/materialize.min.js"> </script>
   <style>
      .container {
         width: 60%;
         display: flex;
         font-size: 2rem;
      }
      .text {width: 60%;}
      .img {width: 40%;}
   </style>
</head>
<body>
   <h3> Using the <i> 'responsive-img' </i> class of Materialize to make image responsive </h3>
   <div class = "container">
      <div class = "img">
         <img class = "responsive-img" src = "https://wallpaperaccess.com/full/968120.jpg" alt = "nature image">
      </div>
      <p class = "text"> Let's start to learn the Materialize. </p>
   </div>
</body>
</html>

示例2

在下面的示例中,我们使用了“circle”类来创建一个圆形图像。我们还在图像元素中使用了“responsive-img”类,并将其添加到“container”元素中。

在输出中,我们可以看到圆形图像根据屏幕尺寸进行响应。

<html>
<head> 
   <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.3/css/materialize.min.css">
   <script src = "https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.3/js/materialize.min.js"> </script>
   <style>
      .container {width: 40%;}
   </style>
</head>
<body>
   <h4> Using the <i> 'responsive-img' </i> class of Materialize to make image responsive </h4>
   <div class = "container ">
      <img class = "circle responsive-img" src = "https://img.freepik.com/free-photo/wide-angle-shot-single-tree-growing-clouded-sky-during-sunset-surrounded-by-grass_181624-22807.jpg" alt = "Nature image">
   </div>
</body>
</html>

使用“responsive-video”类创建响应式视频

当需要创建响应式视频时,使用“responsive-video”类名。我们可以使用<video>标签向网页添加视频。它将视频的宽度设置为100%,并根据视频的纵横比调整高度。

语法

用户可以按照以下语法使用“responsive-video”类名来创建响应式视频。

<video class="responsive-video" style="width: 100%" controls>
   <source src="testVideo.mp4" type="video/mp4">
</video>

在上面的语法中,我们使用了“responsive-video”类名和“video”HTML标签。

示例3

在下面的示例中,我们添加了带有“responsive-video”类名的video标签。我们还在“video”元素内添加了“source”标签。用户可以将视频URL作为“src”属性的值添加,并观察视频是如何响应的。

<html>
<head>
   <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.3/css/materialize.min.css">
   <script src = "https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.3/js/materialize.min.js"> </script>
</head>
<body>
   <h4> Using the <i> 'responsive-video' </i> class of Materialize to make embeded videos responsive </h4>
   <video class = "responsive-video" style = "width: 100%" controls>
      <source src = "testVideo.mp4" type = "video/mp4">
   </video>
</body>
</html>

使用“video-container”类创建响应式视频

我们可以使用“video-container”类名与包含使用iframe嵌入视频的容器一起使用。基本上,它用于嵌入式视频。它还将宽度设置为容器元素的宽度,并根据视频的纵横比设置高度。

语法

用户可以按照以下语法使用“video-container”类来创建响应式视频。

<div class="video-container">
   <!—add iframe here -->
</div>

在上面的语法中,我们将“video-container”类名添加到iframe的父元素。

示例4

在下面的示例中,我们使用iframe将youtube视频嵌入到网页中。我们将iframe添加到类名为“video-container”的div元素中。在输出中,我们可以观察到视频的宽度为100%,并且会根据屏幕尺寸而改变。

<html>
<head>
   <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.3/css/materialize.min.css">
   <script src = "https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.3/js/materialize.min.js"> </script>
</head>
<body>
   <h4> Using the <i> 'video-container' </i> class of Materialize to make embeded videos responsive </h4>
   <div class = "video-container">
      <iframe src="https://www.youtube.com/embed/qZOlCFincuU"
      title = "Welcome To Tutorialspoint - Simply Easy Learning" frameborder = "0"
      allow = "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
      allowfullscreen> </iframe>
   </div>
</body>
</html>

用户学习了如何使用Materialize的不同类来创建响应式图片和视频。但是,开发者必须注意应该将哪个元素与特定的类名一起使用。

更新于:2023年7月14日

浏览量:107

启动你的职业生涯

完成课程后获得认证

开始学习
广告