前端中常用的媒体查询详解,sass基础用法概览

  • Post author:
  • Post category:其他




常用布局第三篇 —— rem布局



回顾

在上一篇中我们结束了 flex 布局,flex 布局说的内容还是比较多的,而且对于flex布局来说,未来的工作中大部分的应用场景都在flex布局中,所以掌握 flex 布局在未来写页面时会非常的顺利,因为牵扯 flex 的内容比较多,所以在空闲的时候可以多看看 flex 相关的东西。

除此之外,这篇说的 rem 布局,也就是常说的媒体查询,常用于区分 pc 和 mobile 端内容。同时也是布局中的最后一篇内容了,下一篇开始我们就要开启前端中的另一个最最重要的 javascript 了!



rem 布局



rem 基础

em:相对于父元素字体大小

rem:相对于 html 元素的字体大小

  div {
    font-size: 12px;
  }

  p {
    /* em 相对于父元素来区分大小 */
    width: 5em;
    height: 5em;
    background-color: skyblue;
  }

在这里插入图片描述



媒体查询

媒体查询(Media Query)是 css3 中的新语法

  • 使用 @media 查询,可以针对不同的媒体类型定义不同的样式
  • @media 可以针对不同的屏幕尺寸设置不同的样式
  • 当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面
  • 目前针对很多苹果手机、Android手机、平板等设备都能用得到媒体查询

语法规范:

@media mediatype and|not|only (media feature) {
  css-code
}
  • 用 @media 开头 注意 “@” 符号

  • mediatype 媒体类型

    • all 用于所有设备
    • print 用于打印机和打印浏览

    • scree 用于电脑屏幕、平板电脑、智能手机等
  • 关键字 and not only

    • and:可以将多个媒体特性连接到一起,相当于“且”的意思。
    • not:排除某个媒体类型,相当于“非”的意思,可以省略
    • only:指定某个特定的媒体类型,可以省略
  • media feature 媒体特性 必须有小括号包含

    • width:定义输出设备中页面可见区域的宽度
    • min-width:定义输出设备中页面最小可见区域宽度
    • max-width:定义输出设备中页面最大可见区域宽度

@media 可以针对不同的屏幕尺寸设置不同的样式

  /* 在屏幕上, 并且 最大的宽度是 1200px 可以设置想要的样式 */
  @media screen and (max-width: 1200px) {

    .box {
      width: 200px; height: 200px;
      background-color: skyblue;
    }
  }

  /* 在屏幕上, 并且 最大的宽度是 500px 可以设置想要的样式 */
  @media screen and (max-width: 750px){

    .box {
      width: 100px; height: 100px;
      background-color: pink;
    }
  }

在这里插入图片描述

在工作中媒体查询用的还是相当普遍,所以怎样使用媒体查询必须的知道。



sass 学习

sass 是 css一种开发工具,提供了很多便利的写法,也很大的程度上节省了设计的时间,所以在现在的css中基本上用的都是 sass,不过在初级阶段不建议你直接入手sass,还是从css一点一滴的学习,可以在css学的完全熟练之后再去学习sass的用法。这里仅作一个记录sass的内容和用法,感兴趣可以了解。



基本用法

  • sass允许使用变量,所以变量以 $ 开头
$blue : #F5F5F5;
div {
  color: $blue
}



如果变量需要嵌套在字符串中,需要写在#{}之中

$side: right;

.div {
  border-#{side}-radius: 5px;
}



sass嵌套

a {
  &:hover {
    color: skyblue;
  }
}

// 只要是嵌套的话 都需要 “&”
div {
  &span {
  
  }
}

  • 代码重用


继承 @extend :sass允许 一个选择器继承另一个选择器。

// 如果想要 box2 继承 box1 的话

.box1 {
  border: 1px solid #FFFFFF;
}

.box2 {
  @extend .box1;
  font-size: 12px;
}


重用代码块 @mixin:sass可以重用代码块,使用@include调用 mixin

@mixin left {
  display: flex;
  justify-content: center;
}

// 这样div中可以调用 left中的css代码
div {
 @include left;
}

除此之外sass中还有一些高级的用法,例如 if 判断语句和 for 循环等语句,这里就不一一介绍了,感兴趣的话可以去官网学习。

今天是最后一讲的布局篇,下一次我们就要展开前端中很重要的 js 了!加油!!! 有什么问题可以随时留言交流



版权声明:本文为qq_42799488原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。