将sass快速引入到移动端项目中加速开发

本文以上图为例子:

首先在根目录创建一个sass文件,在sass文件中分别创建4个文件夹bsae,pages,libs,style;

base下存放:样式重置_normalize.scss;

      自己定义的scss代码块:_help.scss(如果项目大可以再细分为funiton,mixin,variable等);

      通用部分_common.scss;(如上图中的头部,如需要可再细分为common-header , common-nav等部分)

pages下存放每个对应的html需要的scss文件,如_index-style.scss, _hot-sell-style.scss等;

libs下存放外部库,如果你有使用boosharp,jqui 等库的话;

style下放每个html对应的scss,如index.html则对应的scss为:   index.scss.

style下面的每个文件只需要引入所需要的文件即可,import会将导入的scss文件合并成一个文件(注意导入的必须是scss或sass文件)如图所示:

可以发现上面只有style下面的scss文件没有_下划线,这是因为以_开头的不会进行编译,我们需要的只是将最终的style下面的index.scss编译成index.css,然后将index.css引入到html中去,如果不加上_

编译时会产生多余的css文件,如main.css, base.css,这些只是部分,我们需要的只是最终组合好的完整的style.css;

目录搭建好后,可以开始写文件了,通用部分和样式重置就不讲了,这里只讲help常用的scss。

几个psd图都有一个相同的颜色,(类似皮肤),将此颜色定义为一个变量:

$maincolor:#f84056;

使用如下:.header{background-color:$maincolor}

使用变量的好处是修改是只需修改一个地方即可,将#f84056改为#fff,对应的地方也会全部改变,轻松实现网页换肤;

也可以使用%占位符,%maincolor{background-color:#f84056};

使用如下:.header{@extend  %maincolor}

类似占位符的有继承,这个容易理解,使用为:div{@extend  .header}  即继承.header的样式;

嵌套:如header{

   nav{

    color:red

  }

}

输出为:header nav{color:red}

使用嵌套写起来回方便很多,尤其是在使用伪类,伪元素时, 如清浮动

.clearfix{
    &:after{
      content: "";
     display:table;

  clear:both;

}
}

&代表当前层次;

函数:

@function torem($px){
@return $px / 75px * 1rem;
}

使用如下torem(100px),此函数主要用户将px转化为rem,75px位html跟元素的font-size,可配合淘宝flexible.js使用,如果使用css可以下载cssrem插件将px转化为rem

scss最有用的个人认为还是mixin,个人常用mixin如下:

ios下字体:

@mixin font-dpr($font-size) {
font-size: $font-size;
[data-dpr="2"] & {
font-size: $font-size * 2;
}
[data-dpr="3"] & {
font-size: $font-size * 3;
}
}

绝对定位

@mixin poa($w,$h,$l,$t){
position:absolute;
width:$w;
height:$h;
left:$l;
top:$t;
}

table居中

@mixin table-center{
display: table-cell;
vertical-align: middle;
text-align: center;
}

margin或者translate居中

@mixin poa-center($w,$h){
position:absolute;
width:$w;
height:$h;
left:50%;
top:50%;
// margin-left:-($w/2);
// margin-top:-($h/2);
transition:translate(-50%,-50%)

}

flex居中

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

字体溢出。。。
@mixin t-overflow($line:1){
@if $line==1{
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}@else{
display: -webkit-box;
-webkit-line-clamp:$line;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
}

sass如此强大,但在我笔下竟然感觉好水,看来人丑还是要多读书啊!!!1

     

      

时间: 2024-10-11 10:33:37

将sass快速引入到移动端项目中加速开发的相关文章

我们为什么在移动端项目中选择jQuery而不是Zepto

1.文件大小比较 首先从cnd上(http://www.bootcdn.cn/)下载jquery和zepto. jquery下载的是2.2.4版本压缩: zepto下载的是是1.20压缩版本: 二个文件大小比较: jquery.min.js 大小为:83.5k zepto.min.js大小为:25.7k 总结:zepto文件确实小,但是由于目前网民移动设备网络带宽好.流量多,浏览器都会都会缓存js,并且网站一般都会使用gzip对js文件进一步压缩,所以文件大小只会影响用户第一次加载网页. 2.j

Vue项目中使用vw实现移动端适配

我们在vue移动端项目中的适配一般都采用rem,但是rem也不是能兼容所有的终端. 随着viewport单位越来越受到众多浏览器的支持,下面将简单介绍怎么实现vw的兼容问题,用vw代替rem 当我们采用vue-cli脚手架搭建完项目,安装所有依赖包之后,用npm run dev启动后,在根目录有一个 .postcssrc.js 文件,文件结构如下: vue-cli默认已经安装以上三个插件: postcss-import:相关配置可以点击这里.主要功有是解决@import引入路径问题.使用这个插件

vue2+vuex+vue-router 快速入门(二) 项目搭建

安装 我们可以通过两种方式把 vue 引入到我们的项目中,一种直接通过 <script> 引入 ,这时 vue 会被注册为一个全局变量.第二种便是通过 npm 进行安装,这种方式可以很好的配合 webpack 或 browserify 模块打包器使用.我们的项目使用 webpack 进行打包. 项目搭建 在经过简短的考虑之后,我们决定使用 npm 管理项目依赖,webpack 进行项目打包.js 遵循 es6 规则,采用 babel 进行转换.less 管理 css 样式.vue 提供了一个官

使用SeasLog打造PHP项目中的高性能日志组件(一)

云智慧(北京)科技有限公司 高驰涛 什么是SeasLog SeasLog是一个C语言编写的PHP扩展,提供一组规范标准的功能函数,在PHP项目中方便.规范.高效地写日志,以及快速地读取和查询日志. 为什么使用SeasLog 无论在什么应用中,log日志都是架构中不可缺少的一个重要组成部分,它通常是系统或软件.应用的运行记录.通过log的分析,可以方便用户了解系统或软件.应用的运行情况:如果你的应用log足够丰富,也可以分析以往用户的操作行为.类型喜好.地域分布或其他更多信息:如果一个应用的log

log4net在项目中使用

 1>从log4net官网下面log4net的文件包,然后在包的bin文件夹下的net文件夹中的4.0文件夹中找到log4net.dll文件,然后将它引入到我们的项目中来 2>在项目中新建一个log4net.config的配置文件.下面我们来配置这个log4net.config配置文件 <?xml version="1.0" encoding="utf-8"?> <configuration> <configSectio

项目中遇到的bug、问题总结

1. Cannot set property 'captcha' of undefined 在node项目中使用svg-captcha生成验证码报错 captcha的代码,这里有一个session.captcha,检查app.js,发现session没设置 exports.captcha = async(req, res, next) => { // 创建验证码 const captcha = svgCaptcha.create() // 验证码文本 req.session.captcha =

团队项目中个人的定位及计划

我们团队在这一次的移动APP开发计划中准备做一个针对上海地区大学分数线进行专业推荐的APP,根据前几章的学习,团队中的成员将会被初步分为开发人员.测试人员以及PM(program manager).我在这次的软件开发中担任开发人员的职务. 在开发开始的阶段,全员首先一起明确这次APP的主题,一起分析好这款APP将要实现怎样的功能,将要面向哪些受众:对于市面上的同类软件,我们还能添加哪些实用的功能.首先将会尽可能地将上海地区内高校近几年的分数线.每个系的最低录取分数统计好录入系统中,再根据考生相应

vue项目中引入Sass

Sass作为目前成熟,稳定,强大的css扩展语言,让越来越多的前端工程师喜欢上它.下面介绍了如何在vue项目 中引入Sass. 首先在项目文件夹执行命令 npm install vue-cli -g,安装vue-cli脚手架,若是已经安装了,则不必再次安装,直接 跳过这一步.接下来执行命令行vue init webpack mypro(注:mypro是项目名). 接下来安装Sass依赖包,使用以下命令行: npm install sass-loader --save-dev npm instal

webstorm下的sass自动编译和移动端自适应实践

http://www.fawwheel.com/shahramLu/p/6477731.html webstorm下的sass自动编译和移动端自适应实践 1.安装Ruby 2.安装sass 3.webstorm配置file watcher 4.移动端自适应 1.安装Ruby 安装Ruby,有多种方式,打开官网下载 因为,使用的是window选择RubyInstall,下载地址 RubyInstall下载地址 选择对应系统的版本,下载完成,安装 添加到path,建议勾上,安装完成后,打开开始面板,