首页 > 其他分享 >前端、Vue.js和SVG的一些知识

前端、Vue.js和SVG的一些知识

时间:2023-10-10 10:06:46浏览次数:56  
标签:Vue 网页 SVG js HTML CSS


前端、Vue.js和SVG的一些知识

一、前端简介


    1、什么是HTML(静态)(超文本标记语言 Hyper Text Markup Language),HTML 是用来描述网页的一种语言。

    2、CSS(层叠样式表 Cascading StyleSheets),样式定义如何显示 HTML 元素,语法为:selector {property:value} (选择符 {属性:值})
    3、JavaScript(动态)是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。对于一个网页,HTML定义网页的结构,CSS描述网页的样子,JavaScript设置网页的行为。一个很经典的例子是说HTML就像 一个人的骨骼、器官,而CSS就是人的皮肤,有了这两样也就构成了一个植物人了,加上javascript这个植物人就可以对外界刺激做出反应,可以思考、运动、可以给自己整容化妆(改变CSS)等等,成为一个活生生的人。

    如果说HTML是肉身、CSS就是皮相、Javascript就是灵魂。没有Javascript,HTML+CSS是植物人,没Javascript、CSS是个毁容的植物人。如果说HTML是建筑师,CSS就是干装修的,Javascript是魔术师。

    怎么把这三者联系在一起呢,当然得通过网页的肉身HTML,HTML是一直描述语言,它是对着浏览器描述自己的,那么它通常怎么描述具体的这个网页呢?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>网页标题</title>
<link rel="stylesheet" type="text/css" href="mycss.css" />
<script type="text/javascript" src="myjs.js"></script>
</head>
<body>
<p>这是一个段落</p>
</body>
</html>

 

  这是一个最简单的HTML文档,文档说的是,浏览器啊,我是遵循W3C标准XHTML1.0过渡版本规范(文件类型声明),我采用的编码是utf-8,我的标题是“网页标题”,描述我的模样的样式表是我同目录的mycss.css文件,与我有关的javascript代码在我同级的myks.js文件中,我的内容有一个段落,段落的内容是“这是一个段落”。



二、前端的一些学习资料

1、W3Cschool在线教程:http://www.w3school.com.cn/index.html 2、html+css+js基础学习: 3、JavaScript之快速入门: 4、HTML+CSS+JS学习总结:


三、Vue.js简介  

    Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与单文件组件Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供驱动。


四、使用Vue.js中遇到的一些问题

1、生成一个 Vue 应用


<div id="app">
  {{ message }}
</div>
var app = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!'
  }
  methods:{
	/*声明一些方法*/
  },
})



2、显示中文,加上一句:


<meta charset="utf-8">

3、显示文字:

在html中显示:

<div style="left":100px;position:absolute;top:100px>文字</div>


在SVG部分显示:


<text id="ab" stroke="0" transform="matrix(0.4776078672464506,0,0,0.6652687171939449,44.486038340323056,
72.79056143030316) " xml:space="preserve" text-anchor="middle" font-family="SimHei" font-size="56" y="140"
x="1250" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" fill="0">文字</text>

4、随意放置button等控件:


<button @click="click" style="position:absolute; left:500; top:800;">move</button>


5、在HTML中嵌入SVG,模板,方法,点击事件和定时器的运用:


<script type="text/x-template" id="abc">
  <g>/*嵌入SVG代码*/
  ...
  </g>
</script>


<div id="demo">
<svg>/*引用SVG代码,可重复引用,只需改变某些参数,可以简化程序*/
  <abc v-bind:x='posx' :y='posy'></abc>
</svg>
  <button @click="click" style="position:absolute; left:500; top:800;">move</button>
</div>


<script>
Vue.component('abc', {/*定义组件*/
  props:{
    x:Number,
    y:Number
  },
  template: '#abc',/*运用模板*/
})
</script>


var app=new Vue({
  el: '#demo',
  data: {
    posx:1950,
    posy:400,
  },
  methods:{
    click:function(e){/*点击事件*/
    var timesRun = 0;
    this.posx=50;
    var interval = setInterval(function(){/*设置定时器*/
      timesRun += 1;
      var num1 = Math.random()*2000;/*产生随机数*/
      var num2 = Math.random()*2000;
      app.posx=num1;
      app.posy=num2;
      if(app.timesRun == 60){/*使用变量时加类型名*/
        clearInterval(interval);/*计数完成后清除定时器*/
      }
    }, 1000);
    },
  }
})


6、查看输出信息:


console.log("this.value");


五、Vue.js的一些学习资料


1、Vue.js入门:http://aicoder.com/vue/preview/all.html#906

2、Vue.js官网:https://cn.vuejs.org/

3、VsCode新建VueJs项目:
4、Vue.js-SVG组件:https://github.com/cenkai88/vue-svg-icon

六、HTML与SVG

    SVG是Scalable Vector Graphics的缩写,即缩放式矢量图形;
    优点:
    1、使用编辑器即可编辑图形(可以用Inkscape编辑器打开);
    2、基于XML,SVG图形可以被很容易的搜索,脚本化和压缩;
    3、缩放不影响图形质量;
    4、支持随意打印成需要的尺寸;
    5、SVG开源标准;

    劣势:
    1、比正常格式图片体积大;
    2、即使小图片也可能很大;

    一些学习资料:

    HTML--SVG基础 :
    SVG 在 HTML 页面:http://www.runoob.com/svg/svg-inhtml.html

标签:Vue,网页,SVG,js,HTML,CSS
From: https://blog.51cto.com/u_6526235/7787981

相关文章

  • js1之基础知识
    1简介1.1计算机语言计算机语言指用于人与计算机之间通讯的语言,它是人与计算机之间传递信息的媒介。总的来说,可以分成机器语言,汇编语言和高级语言三大类。实际上计算机最终所执行的都是机器语言,它是由“0”和“1”组成的二进制数,二进制是计算机语言的基础。0=000000001=00......
  • vue 基于 el-upload 封装视频上传组件
    新建video-upload.vue文件:<template> <divclass="video-upload-com">  <el-upload:action="uploadUrl":before-upload="beforeAvatarUpload":file-list="mediaList":on-success="handleSuccess":o......
  • Spring Boot 访问静态资源css/js
    一、前言我们用SpringBoot搭建Web应用时(如搭建一个博客),经常需要在Html中访问一些静态资源,比如:css样式;js脚本;favicon.ico图标等;而在SpringBoot中如果没有做任何配置,是无法直接访问静态资源的,通常会报404错误二、SpringBoot访问静态资源的默认目录Spring......
  • [899] Save a dictionary as a file (JSON)
    InPython,youcansaveadictionaryasafileusingvariousmethods,suchasJSON,Pickle,orCSV.Here,I'llshowyouhowtosaveadictionaryasaJSONfileandthenreadthatJSONfilebackintoadictionary.SavingaDictionaryasaJSONFile:Y......
  • js_使用js读取link外部样式
    <linkrel="stylesheet"href="https://at.alicdn.com/t/c/font_1826665_p96ije5uc2f.css"crossorigin>varlinkStyle=document.getElementsByTagName("link")[0];varsheet=linkStyle.sheet||linkStyle.styleSheet;letreg=......
  • Vue 异步更新、$nextTick
    Vue是异步更新DOM的,想要在dom更新完成之后做某件事,可以使用 $nextTick  $nextTick:等dom更新后,才会触发执行此方法里的函数体语法:this.$nextTick( ()=>{   //业务逻辑}) eg:this.$nextTick( ()=>{   this.$refs.inp.focus()})......
  • JS实现红包分配(每个人至少1分钱)
    要实现红包分配,保证每个人至少分到1分钱,可以使用以下算法:将红包总金额以及要分配的人数作为输入参数。首先,生成一个(人数-1)范围内的随机数,表示第一个人分到的金额。确保至少会有一个人分到1分钱。然后,将剩余金额(总金额减去第一个人分到的金额)作为新的红包总金额。依次......
  • vue显示echarts报错——echarts未在vue界面中定义init——TypeError: Cannot read pro
    问题描述本来按照网上的教程说是想要定义一个全局变量,就不需要在每个需要用到echarts组件的vue页面里面重新定义了,直接使用就行,然后就报错了;问题解决我觉得应该是我的全局变量定义错误了,但是吧,我就直接改成在该vue页面定义了它,然后再使用:就没有再使用到那个全局变量,直接这......
  • 启动vue项目报错——ERROR Error loading vue.config.js: ERROR TypeError: defineCon
    问题描述在我引入echarts模块之前是ok的,引入之后就启动失败了;问题解决一般情况下,都是该项目的版本与本机cmd里面的版本不对应导致的;只需要使用这个命令npmupgrade,更新版本,一直yes下去,就能够解决这个问题啦!......
  • JS数组去重的4种办法
    有多种方法可以对数组进行去重,下面介绍的是常见的四种办法:使用Set数据结构:Set是ES6引入的一种新的数据结构,它存储唯一的值,可以利用它的去重特性来对数组进行去重。constarray=[1,2,2,3,3,4,5];constuniqueArray=[...newSet(array)];console.log(uniqueArr......