lessvw与rem实现自适应
vw视口宽度,由于本事就是跟随屏幕变化的,所以更具有灵活性,不用js获取窗口来动态设置窗口宽度,现在用的比较少,公司目前不让用,先记录,也许以后用得到。
//配合less 不用自己换算,设计稿750 px
//定义变量 vw=7.5vw
//假设元素400px宽度,换算成vw即为400/@vw
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比江川网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式江川网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖江川地区。费用合理售后完善,十多年实体公司更值得信赖。
@vw: 7.5vw;
.container {
padding: 51/@vw 43/@vw 23/@vw 45/@vw;
.fisttitle {
display : flex;
align-items: center;
}
.title {
font-size : 37/@vw;
padding : 0 18/@vw 0 10/@vw;
font-weight: 600;
}
.lef_png {
margin-right: 17/@vw;
}
.lef_png,
.rig_png {
width : 60/@vw;
height: 4/@vw;
}
.commens {
width : 36/@vw;
height: 34/@vw;
}
ul {
li {
h6 {
color : #333;
font-size : 32/@vw;
padding-left: 64/@vw;
margin-top : 51/@vw;
font-weight : 600;
line-height : 45/@vw;
}
.q1 {
background : url('./../images/q1.png') no-repeat left center;
background-size: 52/@vw 32/@vw;
}
p {
color : #666;
font-weight: 400;
font-size : 30/@vw;
line-height: 42/@vw;
}
a {
color : #1E89FE;
font-size : 30/@vw;
line-height: 42/@vw;
}
span {
margin : 0 10/@vw 0 10/@vw;
display: inline-block;
}
}
}
}
下面用最熟悉的rem 实现一下,因为rem不能实时变化,所以需要通过js 或者媒体查询来辅助,本案例通过media 来实现
html {
@firstViewportWidth: 750px; //默认UI设计尺寸
@defaultFontSize : 100px; //默认初始fontsize大小
@media screen and (width: @firstViewportWidth) {
//绑定到没听查询
font-size: @defaultFontSize;
min-width: 100%;
}
;
//根据传入的屏幕尺寸@viewportWidth计算出与初始@firstViewportWidth的比例,然后将默认的fontsize> @defaultFontSize对应的放大缩小
.media(@viewportWidth, @firstViewportWidth: 750px) {
@media screen and (min-width: @viewportWidth) {
font-size: @defaultFontSize / (@firstViewportWidth / @viewportWidth) !important;
}
}
;
.media(320px);
.media(375px); //所要设配的屏幕尺寸
.media(360px);
.media(411px);
.media(414px);
.media(768px);
}
@media screen and (min-width: 768) {
html {
font-size: 100px !important;
}
}
@vw: 7.5vw;
.container {
padding: .51rem .43rem .23rem .45rem;
.fisttitle {
display : flex;
align-items : center;
justify-content: space-between;
.middleware {
text-align: center;
}
}
.title {
font-size : .37rem;
padding : 0 .18rem 0 .18rem;
font-weight: 600;
}
.lef_png {
margin-right: .17rem;
}
.lef_png,
.rig_png {
width : .6rem;
height: .04rem;
}
.commens {
width : .36rem;
height: .34;
}
ul {
li {
h6 {
color : #333;
font-size : .32rem;
padding-left: .64rem;
margin-top : .51rem;
font-weight : 600;
line-height : .45rem;
}
.q1 {
background : url('./../images/q1.png') no-repeat left center;
background-size: .52rem .32rem;
}
p {
color : #666;
font-weight: 400;
font-size : .30rem;
line-height: .42rem;
}
a {
color : #1E89FE;
font-size : .30rem;
line-height: .42rem;
}
span {
margin : 0 .10rem 0 .10rem;
display: inline-block;
}
}
}
}
对比来看,rem看上去简洁一些,不过需要手动去设置所有的需要自适应额屏幕宽度,vw虽然看上去不那么直观,但是适用性更强。
文章标题:lessvw与rem实现自适应
当前网址:http://ybzwz.com/article/gojged.html