移动Web

135 阅读3分钟

移动Web

第一节

1.字体图标

1647223512963.png

1647219715197.png

 div{
            font-family: 'iconfont';
        }
    </style>
</head>
<body>
    <div>&#xe60c;</div>

1647219744142.png

 <style>
       
        .icon-gouwucheman{
            font-size: 16px;
            color: brown;
        }
    </style>
</head>
<body>
    <span class="iconfont icon-gouwucheman"> 购物车 <i class="iconfont icon-jiantou9"></i></span>
上传SVG图标使用
<link rel="stylesheet" href="http://at.alicdn.com/t/font_3243645_8568gh9eemr.css">在线地址
   
</head>
<body>
                <span class="iconfont icon-Dyanjing"></span>

字体图标搭配伪元素

font-class的原理:给对应的伪元素添加 里面的content添加unicode的编码

1.位移

快捷键:trf:t/s/r

transform: translate();

位移-绝对定位居中

1647057186491.png

2.旋转

transform: rotate();
transform-origin: ;(旋转的位置中心店)

3.transform复合属性

1647064277314.png

4.缩放

1647064369324.png

5.渐变

1.渐变没有过渡效果

2.背景图片的渐变效果不是完善的,工作中要慎用(浏览器的支持不够好)

3.display:none没有过渡效果 定位加透明渡有过度效果

1647064463818.png

1647257481369.png

6.华为综合案例

1647309425502.png

第二节

空间转换

1.判断旋转的方向以及取值正负

1647316171273.png

2.透视效果

给父级添加perspective,让画面由远到近放大的效果,但不能真正实现立体图形

1647316703357.png

3.实现3D效果

给父级添加transform-style: preserve-3d;

1647316890044.png

位移

1647317120674.png

旋转

1647330416111.png

1647317146087.png

4.空间缩放

1647330607136.png

5.案例实现3D效果

前{

​ transform: translateZ(100px);

​ }

后{

​ transform: translateZ(-100px);

​ }

​ 左{

​ transform: rotateY(90deg) translateZ(100px);

​ }

​ 右{

​ transform: rotateY(90deg) translateZ(-100px);

​ }

​ 上{

​ transform: rotateX(90deg) translateZ(100px);

​ }

​ 下{

​ transform: rotateX(90deg) translateZ(-100px);

​ }

动画

1.动画的作用

1647330709744.png

2.动画的实现步骤

1.先写一个样式

从这个效果过度到另外一个效果:如:从w500变成w800

@keyframes 动画名称{

from{}

to{}}

2.分层过渡

@keyframes 动画名称{

0%{}

30%{}

80%{}

100%{}

}

3.调用动画的写法

animition:动画名称 花费时长

4.动画属性

animition:动画名称 花费时长 速度曲线 延迟时间 重复次数 动画方向 执行完毕时状态;

1647337545037.png

1647337568428.png

animation-fill-mode:both;开始时第一帧状态,结束时最后一帧

5.实现逐帧动画

1647337851231.png

第三节

移动端特点

1647409520207.png

百分比布局

Flex布局

1647511265502.png

1.Flex布局的组成

1647487498715.png

2.主轴对齐

1647487347902.png

3.侧轴对齐方式

1647487763537.png

4.伸缩比

1647503979275.png

5.改变自身在侧轴的对齐

align-self: center;

实战演练

小兔仙订单页面

1647595834665.png

1647595881582.png

第四课

1.改变主轴方向

1647569711653.png

2.实现多行排列效果

1647569756136.png

3.课堂案例,使用Flex布局,实现上面图片的效果

1647576679444.png

4.Flex总结

1647653421305.png

第五节

1.移动适配

1647654740522.png

第六节

1.长度单位

1.rem

1.rem单位

1647827353681.png

HTML字号,也叫做根字号

1647827696767.png

1647856892078.png

代码:"cssrem.rootFontSize": 37.5,

2.Vw

Vw是相对长度单位,是相对于屏幕的宽度

100vw=屏幕的宽度

1vw=屏幕的宽度*0.01

px转换单位

px/vw

calc:运算符,两侧必须加空格

width: calc(100vw * 200 / 375) ;

1647833114615.png

1647830252236.png

代码:"px2vw.width": 375,

1647853428384.png

3.vh

vh是相对长度单位,是相对于屏幕的高度

100vh=屏幕的高度

1vh=屏幕的高度*0.01

2.flexible

1647827878518.png

第七节

1.Less

1647828636227.png

1.less语法

1647828696054.png <

1647828759662.png

混合语法:mixin

.自定义名(){存放你想要的代码}

div{.自定义名();}

1647915221871.png

1647914656902.png

2.less嵌套后代选择器

1647828901828.png

3.less变量

1647829046182.png

4.导入Less文件

1647833154090.png

5.Less导出css文件

1647833223507.png

1647833320101.png

拓展知识

省略号:使文字一行排布,多余的字已省略号出现

display: -webkit-box; overflow: hidden; white-space: normal!important; text-overflow: ellipsis; word-wrap: break-word; -webkit-line-clamp: 3; -webkit-box-orient: vertical;

设置浏览器对于文字不要换行

1647931875546.png

响应式布局

1.实现的原理就是:媒体查询(根据屏幕的不同的,去使用不同的css)

2.媒体查询

1647827560139.png

1647827605887.png

媒体查询-高度

1647937482327.png

媒体查询其余用法

1647937642086.png

框架

Bootstrap:v3.bootcss.com/

引入方式:顺序不能错

1647942125004.png

栅格系统(Bootstrap的核心=媒体查询)
1.Bootstrap将屏幕分成了4种

1647943503502.png

2.用法

1647948087197.png

1647948108080.png

3.引入字体图标
<span class="glyphicon glyphicon-search" aria-hidden="true"></span>
4.引入导航条

点击:组件-旁边导航条点击-复制代码

<nav class="navbar navbar-default">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Brand</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
        <li><a href="#">Link</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Action</a></li>
            <li><a href="#">Another action</a></li>
            <li><a href="#">Something else here</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">Separated link</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">One more separated link</a></li>
          </ul>
        </li>
      </ul>
      <form class="navbar-form navbar-left">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search">
        </div>
        <button type="submit" class="btn btn-default">Submit</button>
      </form>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#">Link</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Action</a></li>
            <li><a href="#">Another action</a></li>
            <li><a href="#">Something else here</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">Separated link</a></li>
          </ul>
        </li>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>
5.引入轮播图

点击:js组件-Carousel(轮播图的单词)-复制代码

<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
  <!-- 轮播图的引擎,就是那几个小点点 -->
  <ol class="carousel-indicators">
    <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
    <li data-target="#carousel-example-generic" data-slide-to="1"></li>
    <li data-target="#carousel-example-generic" data-slide-to="2"></li>
  </ol>

  <!-- 要放的图片 -->
  <div class="carousel-inner" role="listbox">
    <div class="item active">
      <img src="..." alt="...">
      <div class="carousel-caption">
        ...
      </div>
    </div>
    <div class="item">
      <img src="..." alt="...">
      <div class="carousel-caption">
        ...
      </div>
    </div>
    ...
  </div>

  <!-- 左右两边的箭头控制-->
  <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>