sergAccount

Untitled

Sep 29th, 2020
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 3.71 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>Hello Vue</title>
  5.     <meta charset="utf-8">
  6.     <!-- https://unpkg.com/vue@2.6.11/dist/vue.min.js -->
  7.     <!-- подключение фреймворка vue.js -->
  8.     <script type="text/javascript" src="https://unpkg.com/vue"></script>
  9.     <style type="text/css">
  10.  
  11. *{
  12.   margin:0;
  13.   padding:0;
  14. }
  15.  
  16. body{
  17.   font:15px/1.3 'Open Sans', sans-serif;
  18.   color: #5e5b64;
  19.   text-align:center;
  20. }
  21.  
  22. a, a:visited {
  23.   outline:none;
  24.   color:#389dc1;
  25. }
  26.  
  27. a:hover{
  28.   text-decoration:none;
  29. }
  30.  
  31. section, footer, header, aside, nav{
  32.   display: block;
  33. }
  34.  
  35. /*-------------------------
  36.   Меню
  37. --------------------------*/
  38.  
  39. nav{
  40.   display:inline-block;
  41.   margin:60px auto 45px;
  42.   background-color:#5597b4;
  43.   box-shadow:0 1px 1px #ccc;
  44.   border-radius:2px;
  45. }
  46.  
  47. nav a{
  48.   display:inline-block;
  49.   padding: 18px 30px;
  50.   color:#fff !important;
  51.   font-weight:bold;
  52.   font-size:16px;
  53.   text-decoration:none !important;
  54.   line-height:1;
  55.   text-transform: uppercase;
  56.   background-color:transparent;
  57.  
  58.   -webkit-transition:background-color 0.25s;
  59.   -moz-transition:background-color 0.25s;
  60.   transition:background-color 0.25s;
  61. }
  62.  
  63. nav a:first-child{
  64.   border-radius:2px 0 0 2px;
  65. }
  66.  
  67. nav a:last-child{
  68.   border-radius:0 2px 2px 0;
  69. }
  70.  
  71. nav.home .home,
  72. nav.projects .projects,
  73. nav.services .services,
  74. nav.contact .contact{
  75.   background-color:#e35885;
  76. }
  77.  
  78. p{
  79.   font-size:22px;
  80.   font-weight:bold;
  81.   color:#7d9098;
  82. }
  83.  
  84. p b{
  85.   color:#ffffff;
  86.   display:inline-block;
  87.   padding:5px 10px;
  88.   background-color:#c4d7e0;
  89.   border-radius:2px;
  90.   text-transform:uppercase;
  91.   font-size:18px;
  92. }
  93.    
  94. </style>
  95. </head>
  96. <body>
  97. <!-- элемент div c идентификатором app -->
  98. <!-- v-for -->
  99. <div id="app"> 
  100.  
  101.  <!-- Меню получает значение "active" в качестве класса. -->
  102.  
  103.     <!-- Чтобы предотвратить "прыжки" страницы при изменении ссылки, используем модификатор "prevent" (сокращение для preventDefault). -->
  104.  
  105.   <nav v-bind:class="active" v-on:click.prevent>
  106.  
  107.     <!-- Когда происходит нажатие на ссылку, вызываем метод makeActive, определенный как js-сущность Vue. -->
  108.  
  109.     <a href="#" class="home" v-on:click="makeActive('home')">Главная</a>
  110.     <a href="#" class="projects" v-on:click="makeActive('projects')">Проекты</a>
  111.     <a href="#" class="services" v-on:click="makeActive('services')">Услуги</a>
  112.     <a href="#" class="contact" v-on:click="makeActive('contact')">Контакты</a>
  113.   </nav>
  114.  
  115.   <!-- Шаблонное значение будет заменено на значение переменной "active". Все изменения будут автоматически отражены на странице. -->
  116.  
  117.   <p>Выбран класс <b>{{active}}</b></p>        
  118.      
  119. </div>
  120. </body>
  121. <script type="text/javascript">
  122.     // создаем объект Vue (экземпляр Vue)
  123.   // Создаем новую сущность Vue.js
  124.   var demo = new Vue({
  125.  
  126.   // DOM элемент, к которому прикреплена сущность
  127.   el: '#app',
  128.  
  129.     // Начало модели.
  130.   // Определяем свойства и присваиваем им необходимые значения.
  131.   data: {
  132.     active: 'home'
  133.   },
  134.  
  135.   // Функции, которые будем использовать.
  136.   methods: {
  137.     makeActive: function(item){
  138.       // Когда модель будет изменена, представление обновится.
  139.       this.active = item;
  140.     }
  141.   }
  142. });
  143. </script>
  144. </html>
Add Comment
Please, Sign In to add comment