vw,vh.rem单位。bootstrap框架。less

423 阅读3分钟

就是设计稿会给宽度,比如说是375那你可以得出1vw就等于375/100=3.75px,然后比如说你要写的这个元素是100px,就拿100px/3.75就等于26.6vw,你写了vw单位之后,在移动端视口标签作用下不同的视口会有不同的大小,会自动等比例变大

vw vh的基本认知以及使用

vw:相对单位 相对于屏幕 100vw等于屏幕宽度

vh:相对于屏幕宽度。

为什么使用vw单位

方便进行移动端适配,利用vw相对于屏幕宽度相应的进行变化的特点,我们可以在不同的屏幕下看到不同大小的元素。非常的方便。

如何使用:

一般我们在进行移动端开发的时候都会拿到一份设计图,。从图中我们可以获得具体数据。将其等比例变化为vw即可。

1647828306341.png

可以使用calc函数进行运算。不过这种方式比较繁琐。我们一般利用第三方插件进行转换。将设计图的大小改到第三方插件哪里

rem:

相对于根标签的文字大小:例如html的文字大小是100px 1rem就是100px

rem的作用:

1647852539732.png

如何使用rem单位做屏幕适配?

回顾vw做屏幕适配的过程:屏幕的宽度改变=>页面中使用了vw作为单位的元素随之改变

rem屏幕适配原理

屏幕宽度发生改变=>使用媒体查询让html的字体大小改变=>页面中使用了rem单位的元素发生改变

媒体查询:

语法:@media screen and(){

html{fost-size}

}

你看我怎么变都好 所以接下来同学们,如何解决 给大家一个解决方案 很早的时候我们页面的单位有rem 但是没有vw 所以那些公司vw单位的,有手机淘宝的一个团队 ,研究这个问题他们就同故宫一段js代码来实现这个功能了 以后其他公司的人想要实现这个功能,就需要引入淘宝团队写好的一段js代码即可

引入一段手机淘宝写好的代码(flexible.js)

less

1647913747058.png

1647914404883.png

1647915143148.png

1647916447194.png

less变量

使用方法:@变量名(尽量带有语义):css样式

例:@color:red。

div{color:@color}

方便对某种主题或者多次出现的样式进行统一修改

less运算

less可以进行css运算

例:div{width:100px-50px}

注意:除法要加括号

less混合

less可以将一大堆代码放在一起调用

使用方法:.混合名(){里面写样式} 通过.混合名调用还可以传送实参

例如:.name(a,b){

color:red;

background-position:a,b

}

div{.name(-100px,-100px)}

less嵌套:略

单行文本溢出显示省略号

overflow: hidden;

text-overflow:ellipsis;

white-space: nowrap;

多行:

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

bootstrap的基本使用

重点:栅格系统

栅格系统把屏幕平均分为12等份

它提供了container类版心居中大容器和container-fuliud全屏容器。

其结构为

<div class="container">
    <div class="row">
        <div class="col-md-4"></div>
        <div class="col-md-4"></div>
        <div class="col-md-4"></div>
    </div>
</div>

row代表行,col-md-4代表中等屏幕下一列多少份

大屏为lg(large),中屏为md(middle),小屏为sm(small),超小屏为xs()

栅格系统实现原理

浮动加媒体查询

栅格系统补充代码

在某种屏幕小显示隐藏

例如:col-md-hidden

例如:col-md-visiable

掌握:能看文档使用bootstrap的功能

例如:导航。轮播。一些简单的类名

1647943611413.png

1647943735114.png

1647944207428.png

1647944259895.png

1647944962149.png

1647946137827.png