vue前端demo

vue

前端demo

原生js选项卡切换效果

### css

* {
           margin: 0;
           padding: 0;
      }

      .box {
           margin: 20px auto;
      }

      .list {
           height: 20px;
           width: 200px;
      }

      .list li {
           width: 64px;
           float: left;
           list-style: none;
           border: 1px solid red;
      }



      .box div {
           width: 200px;
           height: 200px;
           background: lightblue;
           text-align: center;
           line-height: 200px;
           display: none;
      }

### html

<div class="box">
       <ul class="list">
           <li style="background: blueviolet;">项目1</li>
           <li>项目2</li>
           <li>项目3</li>
       </ul>
       <div style="display: block;">
           项目1
       </div>
       <div>
           项目2
       </div>
       <div>
           项目3
       </div>
   </div>

### js

 var Ali = document.getElementsByTagName("li");
       var Adiv = document.querySelectorAll(".box div");
       for (let i = 0; i < Ali.length; i++) {
           // 把循环的数字赋给Ali中index
           Ali[i].index = i;
           // console.log(Ali[i].index);
           Ali[i].onclick = function () {
               for (let i = 0; i < Ali.length; i++) {
                   Ali[i].style.background = \'\';
                   Adiv[i].style.display = \'none\';
                   Ali[this.index].style.background = \'blueviolet\';
                   Adiv[this.index].style.display = \'block\';
              }
          }
      }

jquery选项卡切换效果

##css
* {
           margin: 0;
           padding: 0;
      }

      .box {
           margin: 20px auto;
      }

      .list {
           height: 20px;
           width: 200px;
      }

      .list li {
           width: 64px;
           float: left;
           list-style: none;
           border: 1px solid red;
      }
      .active{
           background: blueviolet;
      }


      .box div {
           width: 200px;
           height: 200px;
           background: lightblue;
           text-align: center;
           line-height: 200px;
           display: none;
      }
      .box .actived{
           display: block;
      }
## html
<div class="box">
       <ul class="list">
           <li class="active">项目1</li>
           <li>项目2</li>
           <li>项目3</li>
       </ul>
       <div class="actived">
           项目1
       </div>
       <div>
           项目2
       </div>
       <div>
           项目3
       </div>
   </div>
## js
$(".list li").click(function(){
               $(this).addClass("active").siblings().removeClass("active");
               var index = $(this).index();
               $(".box div").eq(index).addClass("actived").siblings().removeClass("actived");
          })

时间显示和一段文字逐个显示的效果

##css
 * {
           margin: 0;
           padding: 0;
      }

       #time {
           width: 200px;
           height: 40px;
           border: 1px solid yellowgreen;
           margin: 20px auto;
           text-align: center;
           line-height: 40px;
      }

       #newcontent {
           box-sizing: border-box;
           width: 100%;
           padding: 60px;
           margin: 100px auto;
      }

       #oldcontent {
           display: none;
      }
##html
<div id="time">
   </div>
   <p id="oldcontent">
       2021.5.20断断续续加起来我们已经相伴了一年零七个月了,则么感觉有好几年的感觉了.有时候感觉你很心细,但有时候的你又很粗心,我真的是猜不透你心里到底在想什么.你的想法有时候很奇妙,你一般又不会去跟我沟通,我有时候都不确定你有多爱我.真琢磨不透,所以干脆我放弃了思考,不用我的小脑瓜去想那些东西.不说了,不过还是在520这一天说一声我爱你.虽然不表现出来,但是还是想在这些特殊的日子里有一个你制造的惊喜在等着我呀!自己还是会羡慕在这一天手捧鲜花挽着男朋友的小姐姐.好了,下面要开始一波土味情话了,请接招我可以一个人唱歌,一个人喝咖啡,一个人涂鸦,一个人旅行,一个人逛大街,一个人在雨中漫步,一个人听音乐,一个人自言自语,一个人发呆,一个人跳舞,一个人看电视,一个人翻杂志……只有爱你,是我一个人做不到的,希望我们成为最幸福的那一对,转换思想,我不怪你你不懂我,我只怪自己不懂你!我打开笔记,我又落笔放弃了回忆!520,我心依旧!我有一个梦想,简单快乐,从容不违背!我有一个梦想,你,幸福!
   </p>
   <div id="newcontent">
   </div>
## js
window.onload = function () {
           setInterval(() => {
               fndate()
          }, 1000);

      }
       function fndate() {
           var Time = document.getElementById("time")
           var date = new Date();
           var year = date.getFullYear();
           var month = date.getMonth() + 1;
           var data = date.getDate();
           var hour = date.getHours();
           var minute = date.getMinutes();
           var second = date.getSeconds();
           var time = pull(year) + \'-\' + pull(month) + \'-\' + pull(data) + \'   \' + pull(hour) + \':\' + pull(minute) + \':\' + pull(second);
           Time.innerHTML = time;
      }
       // 当每一位的数不够时补零
       function pull(number) {
           var num;
           number > 10 ? num = number : num = "0" + number;
           return num
      }

       var Oldcontent = document.getElementById("oldcontent");
       var Newcontent = document.getElementById("newcontent");
       var i = 0;
       timer = setInterval(() => {
           Newcontent.innerHTML = Oldcontent.innerHTML.substring(0, i);
           i++;
           if (Newcontent.innerHTML == Oldcontent.innerHTML) {
               clearInterval(timer);
          }
      }, 100);

去掉css样式默认的浏览器的样式

/** 清除内外边距 **/
body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 结构元素 */
dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
pre, /* text formatting elements 文本格式元素 */
form, fieldset, legend, button, input, textarea, /* form elements 表单元素 */
th, td /* table elements 表格元素 */ {
   margin: 0;
   padding: 0;
}
/** 设置默认字体 **/
body,
button, input, select, textarea /* for ie */ {
   font: 14px/1.5 tahoma, \5b8b\4f53, sans-serif;
}
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal;}
address, cite, dfn, em, var { font-style: normal; } /* 将斜体扶正 */
code, kbd, pre, samp { font-family: courier new, courier, monospace; } /* 统一等宽字体 */
small { font-size: 12px; } /* 小于 12px 的中文很难阅读, 让 small 正常化 */
/** 重置列表元素 **/
ul, ol { list-style: none; }
/** 重置文本格式元素 **/
a { text-decoration: none; }
a:hover { text-decoration: underline; }
sup { vertical-align: text-top; } /* 重置, 减少对行高的影响 */
sub { vertical-align: text-bottom; }
/** 重置表单元素 **/
legend { color: #000; } /* for ie6 */
fieldset, img { border: 0; } /* img 搭车:让链接里的 img 无边框 */
button, input, select, textarea { font-size: 100%; } /* 使得表单元素在 ie 下能继承字体大小 */
/* 注:optgroup 无法扶正 */
/** 重置表格元素 **/
table { border-collapse: collapse; border-spacing: 0; }
/* 重置 HTML5 元素 */
article, aside, details, figcaption, figure, footer,header, hgroup, menu, nav, section,
summary, time, mark, audio, video {
   display: block;
   margin: 0;
   padding: 0;
}
mark { background: #ff0; }
/* 设置placeholder的默认样式 */
:-moz-placeholder {
   color: #ddd;
   opacity: 1;
}
::-moz-placeholder {
   color: #ddd;
   opacity: 1;
}
input:-ms-input-placeholder {
   color: #ddd;
   opacity: 1;
}
input::-webkit-input-placeholder {
   color: #ddd;
   opacity: 1;
}

a{
   text-decoration:none;
   color:#333;
}
a:hover, a:visited, a:link, a:active {
  // 做到只设置一次,就可以使所有a标签的四种状态都和本身颜色保持一致,样式代码自己写
}
<a href="#outer">
   outerA
  <object><a href="#inner">innerA</a></object>
</a>

input{
   border: none;
   appearance:none;
   -moz-appearance:none;
   outline:none;//input标签聚焦不出现默认边框:
   -webkit-appearance: none;//用于IOS下移除原生样式
}
input:focus{ outline:none; }//input标签聚焦不出现默认边框:
border: none; appearance:none; -moz-appearance:none; outline:none;//input标签聚焦不出现默认边框: -webkit-appearance: none;//用于IOS下移除原生样式 } //or: input:focus{ outline:none; }//input标签聚焦不出现默认边框:

:-moz-placeholder { /* Mozilla Firefox 4 to 18 */  color:#3c8bee ;; opacity:1;  font-size: 0.25rem;text-align: center; }
::-moz-placeholder { /* Mozilla Firefox 19+ */  color:#3c8bee ;; opacity:1;  font-size: 0.25rem;text-align: center; }
input:-ms-input-placeholder{  color:#3c8bee ;; opacity:1;  font-size: 0.25rem;text-align: center; }
input::-webkit-input-placeholder{  color:#3c8bee ;; opacity:1;  font-size: 0.25rem;text-align: center; }

ul, ol, {
  margin: 0;
  padding: 0;
  list-style: none;
}
img {
  vertical-align:top;
  border:none;
}

em,span {
  font-style:normal;
  font-weight:normal;
}

button{
   border:0;
   background-color:none;
   outline:none;
   -webkit-appearance: none;//用于IOS下移除原生样式
}
select {
   border: none;
   appearance:none;
   -moz-appearance:none;
   -webkit-appearance:none;
   /*在选择框的最右侧中间显示小箭头图片*/
   background: url("http://ourjs.github.io/static/2015/arrow.png") no-repeat scroll right center transparent;
   padding-right: 14px;
}

::-ms-clear,::-ms-reveal{
   display: none;
}

font-size: 12px;
-webkit-transform: scale(0.84);
-ms-transform: scale(0.84);
-moz-transform: scale(0.84);
-o-transform: scale(0.84);
transform: scale(0.84);
-webkit-text-size-adjust: none;

img{
   vertical-align: middle;
}
//透明度的兼容性的写法
opacity:0;
-ms-filter: \'alpha(opacity=0)\';

vue2项目的创建

https://blog.csdn.net/u012396955/article/details/80740031

首先查看是否安装了npm 和node

npm -V

node -V

出现版本号就是安装了

安装全局的vue

在你要创建vue的文件夹打开终端输入 npm install --global vue-cli

安装完成之后输入 vue init webpack demo (demo是你创建的vue项目名)

vue2移动端适配

安装1. npm install lib-flexible --save

2.npm install postcss-px2rem-exclude --save(解决了当vue项目引入第三方插件的时候所有的样式都小了一半) 或者是 npm uninstall postcss-px2rem --save-dev(当引入第三方插件的时候所有的样式都小了一半)

3.在项目main.js文件中引入\'lib-flexible\'

import \'lib-flexible\'

4.在build文件夹下面的utils.js文件中加入代码

const px2remLoader = {

loader: \'px2rem-loader\',

options: {

remUnit: 75,//这是设计稿的尺寸750/10

exclude: /node_modules|folder_name/i //当引入第三方插件的时候样式不被缩小

}

}

const loaders = options.usePostCSS ? [cssLoader, px2remLoader, postcssLoader] : [cssLoader, px2remLoader]

5.在node_modules文件夹下lib_flexible文件夹下flexible.js中

var width = docEl.getBoundingClientRect().width;

if (width / dpr > 540) {

width = 50* dpr;

}

中的 width = 50* dpr改为width = width * dpr

以上是 vue前端demo 的全部内容, 来源链接: utcz.com/z/377597.html

回到顶部