使用 CSS3 中@media 实现网页自适应的示例代码

yizhihongxing

下面我来详细讲解如何使用 CSS3 中@media 实现网页自适应的示例代码及其攻略。

什么是@media

@media是CSS3中的一个规则,可以用于在不同的媒体条件下为不同的设备提供不同的样式。主要用来设置针对不同输出设备如屏幕、打印机等的不同样式。

通过@media规则,可以根据不同的设备来匹配不同的样式,因此可以使用它来实现网页自适应。

使用@media的示例代码

以下是使用@media实现网页自适应的示例代码:

/* 设置屏幕宽度大于等于 768px 的设备样式 */
@media only screen and (min-width: 768px) {
  body {
    background-color: grey;
  }

  .container {
    width: 90%;
    margin: 0 auto;
  }
}

/* 设置屏幕宽度小于 768px 的设备样式 */
@media only screen and (max-width: 767px) {
  body {
    background-color: pink;
  }

  .container {
    width: 100%;
    margin: 0;
  }
}

上述代码中,我们使用@media规则分别设置了屏幕宽度大于等于 768px 和小于 768px 两种情况下的不同样式。当屏幕宽度大于等于 768px 时,我们将背景颜色设置为灰色,并将容器的宽度设置为90%,并且居中显示;而当屏幕宽度小于 768px 时,我们将背景颜色设置为粉色,并将容器的宽度设置为100% ,并且取消了居中显示。

通过这种方式,我们可以为不同的屏幕尺寸提供不同的样式,从而实现网页自适应。

示例说明

示例1:PC端和移动端样式不同的导航栏

下面我们来看一个在PC端和移动端样式不同的导航栏示例:

<nav>
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Services</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</nav>

CSS代码:

/* 导航栏的样式(适用于PC端) */
nav {
  background-color: grey;
  height: 50px;
}

nav ul {
  list-style-type:none;
  margin: 0;
  padding: 0;
}

nav li {
  display: inline-block;
  margin-right:20px;
}

nav li:last-child {
  margin-right:0;
}

nav a {
  color: white;
  text-decoration: none;
}

/* 导航栏的样式(适用于移动端) */
@media screen and (max-width: 768px) {
  nav {
    background-color: pink;
    height: auto;
  }

  nav ul {
    display: none;
    text-align: center;
  }

  nav li {
    display: block;
    margin:5px 0;
  }

  nav li:last-child {
    margin-bottom:0;
  }

  nav a {
    color:black;
    text-align:center;
    background-color: white;
    display: block;
    padding:10px;
  }

  nav a:hover {
    background-color: lightgrey;
  }

  /* 点击展开菜单后显示的导航栏 */
  nav.mobile {
    margin-top: 50px;
  }

  nav.mobile ul {
    display: none;
  }

  nav.mobile.active ul {
    display: block;
  }
}

在这个示例中,我们使用@media规则来为不同的设备提供不同的导航栏样式,当屏幕宽度小于等于 768px 时,我们将导航栏样式设置为移动端样式,否则使用PC端样式。通过这种方式,我们可以让导航栏在不同的设备上具有最佳的显示效果。

示例2:网站宽度随屏幕大小而自适应的布局

以下是一个通过@media实现网站宽度随屏幕大小而自适应的布局示例:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>自适应布局示例</title>
  <style>
    /* 默认样式 */
    body {
      margin: 0;
      padding: 0;
      background-color: #ddd;
    }

    .container {
      width: 80%;
      margin: 0 auto;
      background-color: white;
      padding: 20px;
    }

    .box {
      background-color: grey;
      height: 100px;
      margin-bottom: 20px;
    }

    /* 小屏幕样式 */
    @media only screen and (max-width: 768px) {
      .container {
        width: 100%;
      }

      .box {
        height: 50px;
      }
    }
  </style>
</head>
<body>
  <div class="container">
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
  </div>
</body>
</html>

在这个示例中,我们使用@media规则设置了小屏幕样式,即当屏幕宽度小于等于768px时,将容器的宽度设置为100%,而不是默认的80%。同时,我们将盒子的高度也进行了调整。

这样,当窗口大小变化时,容器和盒子的宽度都会随之自适应,从而实现网页自适应布局效果。

通过上述两个示例,相信大家已经掌握了如何使用@media规则实现网页自适应的基本方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用 CSS3 中@media 实现网页自适应的示例代码 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • CSS3.0和CSS2.0的区别有哪些

    CSS是Cascading Style Sheets的缩写,用于控制网页的样式。较早的版本有CSS1.0、CSS2.0,现在已经有了CSS3.0。那么它们之间的区别是什么呢?下面是详细的攻略: 1.0 CSS的发展历程 CSS出现的时间比HTML还早,最早版本的CSS是在1996年发布的CSS1.0。那时,CSS并不能像今天这样丰富和强大。直到1998年,C…

    css 2023年6月9日
    00
  • bootstrap3.0教程之表单(form)使用详解

    以下是关于“bootstrap3.0教程之表单(form)使用详解”的完整攻略。 标题 Bootstrap表单简介 Bootstrap表单是一种用于收集用户输入数据的表单组件。您可以使用Bootstrap的表单组件创建一个美观、易于使用和响应式的表单。 表单元素 在Bootstrap中,表单需要使用一些元素来实现不同的输入字段和交互,以下是一些通常用到的表单…

    css 2023年6月10日
    00
  • css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况

    CSS3中常用的单位包括:px、em、rem、vh、vw、vmin、vmax。 px(Pixel) px是相对长度单位,它是绝对单位的一种,表示屏幕上的一个点,通常对应一个物理像素。 px单位的优点是在不同的浏览器下显示效果稳定,但是其缺点是响应式布局使用不便,且在高分辨率显示器中会出现模糊不清的现象。 em em是基于当前字体大小的相对值,例如一个元素的字…

    css 2023年6月10日
    00
  • html css将表头固定的最直接的方法

    要实现html css将表头固定的最直接的方法,可以使用固定表头的方法。具体步骤如下: 步骤1:创建表格的HTML结构 首先,在HTML中创建一个表格。可以使用“table”标签来创建表格,使用“tr”标签来创建表格中的行,使用“th”标签来创建表格的表头,使用“td”标签来创建表格的单元格。 示例代码如下: <table> <thead&…

    css 2023年6月10日
    00
  • webpack4 从零学习常用配置(小结)

    我来详细讲解一下“webpack4 从零学习常用配置(小结)”的完整攻略。 简介 webpack 是一个模块打包工具,它可以将多个模块打包成一个文件,使用起来非常灵活,比如可以将多个 JavaScript 文件打包成一个,或者将多个 CSS 文件打包成一个等。本文主要讲解 webpack4 的常用配置。 安装 webpack 首先需要安装 webpack 和…

    css 2023年6月9日
    00
  • CSS关于相对定位和绝对定位的说明实例

    下面是关于CSS相对定位和绝对定位的详细攻略。 相对定位 相对定位是指元素的定位相对于其原本的位置,通过指定元素的相对定位属性,可以把元素在其原本位置上移动一定的距离。 相关CSS属性 相对定位需要使用以下CSS属性: position:相对定位需要设置为relative; top:定义从元素的顶端开始向下偏移的距离; bottom:定义从元素的底部开始向上…

    css 2023年6月9日
    00
  • 地址栏上的一段语句,改变页面的风格。(教程)

    首先我们需要知道用来改变页面风格的语句是CSS,CSS可以通过在HTML文档的标签内或通过外部CSS样式表来应用于网页中。而改变地址栏上的语句则是使用HTML5的History API中的pushState()方法。 具体的步骤如下: 在HTML文档的标签内或通过外部CSS样式表来定义需要的CSS样式。 例如,在标签内定义一个id为”dark-style”的…

    css 2023年6月10日
    00
  • css样式的动态添加及显示和隐藏等零碎用法

    针对”css样式的动态添加及显示和隐藏等零碎用法”的问题,我来分享一些详细的攻略: 动态添加CSS样式 在网页中,我们可以通过JavaScript来动态添加CSS样式,这样可以让网页更加灵活美观,以下是使用JavaScript动态添加CSS样式的步骤: 1.创建一个新的style标签,将其插入到head标签中,代码如下: var style = docume…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部