Adaugare stiluri CSS in atributul style

Cu v-bind:style se pot defini proprietati de stiluri CSS pentru atributul "style" din tagul html.
- Sintaxa:
<div v-bind:style='{propName:value, otherProp:value}'>content</div>

Daca doriti sa utilizati notatia CSS (cu liniuta '-'), puneti numele proprietatii intre ghilimele:
<div v-bind:style='{"prop-name":value, "other-prop":value}'>content</div>

- Exemplu, mareste si micsoreaza marimea textului (font-size) cu doua butoane:
<div id='demo'>
 <button @click='fontSize++'>Increase font size</button>
 <button @click='fontSize--'>Decrease font size</button>
 <p v-bind:style='{color:color, fontSize:fontSize +"px"}'>Font size is: {{ fontSize }}</p>
</div>

<script>
var vm = new Vue({
 el: '#demo',
 data:{ color:'#00d', fontSize:12 }
});
</script>

La :style se poate adauga un obiect cu proprietati CSS definit in obiectul "data" din Vue.
- Exemplu:
<div id='demo'>
 <p v-bind:style='styleOb'>Aceasta lume este vindecata atunci cand perceptia este corectata.</p>
</div>

<script>
var vm = new Vue({
 el: '#demo',
 data:{
 styleOb:{color:'#00d', fontSize:'20px', fontWeight:700}
 }
});
</script>

Array de Obiecte cu proprietati CSS

La v-bind:style se poate adauga un Array cu obiecte ce contin proprietati CSS.

- Exemplu:
<div id='demo'>
 <p v-bind:style='[baseStyles, overrideStyles]'>Gandul precede perceptia.</p>
</div>

<script>
var vm = new Vue({
 el: '#demo',
 data:{
 baseStyles:{color:'#00d', fontSize:'20px', fontWeight:700},
 overrideStyles:{color:'#fe1234'}
 }
});
</script>

Definire class dinamic

Cu expresia v-bind:class se pot adauga clase CSS in mod dinamic la tagurile html.
- Sintaxa:
<div v-bind:class='{class_name: addClass}'>content</div>
class_name e adaugat in atributul class cand valoarea proprietatii addClass e True.
v-bind:class poate coexista cu atributul class adaugat in tagul HTML.

- Exemplu, construim un simplu meniu cu v-for. La clic pe un element din Meniu setam adaugarea unei clase CSS (aici sel_li) la acel element. Folosim v-bind:class sa adaugam clasa sel_li la elementul selectat:
<style>
.m_li {background:#ebebeb; cursor:pointer; display:inline; font-size:20px; margin:4px;}
.sel_li {background:#efef00; color:#00d; text-decoration:underline;}
</style>

<div id='demo'>
<ul>
 <li class='m_li' v-for='li in lists' @click='sel_li =li' v-bind:class='{ sel_li: sel_li ==li}'>
 {{li}}
 </li>
</ul>
</div>

<script>
const menu_li =['Home', 'About', 'Contact'];

var vm = new Vue({
 el: '#demo',
 data:{
 sel_li: menu_li[0],
 lists: menu_li
 }
});
</script>

Se pot comuta mai multe clase, adaugand mai multe elemente in obiect.
- Sintaxa:
<div class='a_clas' v-bind:class='{class_name:addClass, class_2:addCls2}'>content</div>

Clase multiple adaugate intr-un Array

Putem adauga un array la v-bind:class pentru a aplica o lista de clase stabilite in obiectul data.
- HTML:
<div v-bind:class='[active_cls, error_cls]'>Content</div>
- In Vue JS:
data: {
 active_cls: 'active',
 error_cls: 'error_msg'
}
Ceea ce va reda:
<div class='active error_msg'>Content</div>

CSS class in Componente Vue

Cand se foloseste atributul class in tagul unei componente personalizate, acele clase vor fi adaugate in elementul radacina din componenta. Clasele existente vor fi mentinute.

- Un exemplu cu o componenta:
<div id='demo'>
 <comp_test class='cls_comp'></comp_test>
</div>

<script>
Vue.component('comp_test', {
 template: "<div class='cls_a cls_b'><h3 class='cls_title'>Title</h3><div>Content</div></div>"
});

var vm = new Vue({el:'#demo'});
</script>
Codul HTML rezultat va fi:
<div class='cls_a cls_b cls_comp'><h3 class='cls_title'>Title</h3><div>Content</div></div>

- La fel si cu directiva v-bind:class in component:
<div id='demo'>
 <comp_test v-bind:class='[add_cls]'></comp_test>
</div>

<script>
Vue.component('comp_test', {
 template: "<div class='cls_a cls_b'><h3 class='cls_title'>Title</h3><div>Content</div></div>"
});

var vm = new Vue({
 el:'#demo',
 data:{add_cls: 'cls_comp'}
});
</script>
Codul HTML rezultat va fi:
<div class='cls_a cls_b cls_comp'><h3 class='cls_title'>Title</h3><div>Content</div></div>

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care atribut specifica metoda HTTP de trimitere (GET, POST) a datelor din formular?
action method value
<form action="script.php" method="post"> ... </form>
Ce proprietate CSS adauga umbra la chenar?
background-image box-shadow border-radius
#id {
  background-color: #bbfeda;
  box-shadow: 11px 11px 5px #7878da;
}
Clic pe functia care elimina primul element dintr-un array?
pop() push() shift()
var fruits = ["mar", "cireasa", "banana"];
fruits.shift();
alert(fruits.length);           // 2
Indicati functia cu care se poate verifica daca un anumit modul e instalat in PHP.
function() filetype() extension_loaded()
if(extension_loaded("PDO") === true) echo "PDO este valabil."
Alegeti verbul auxiliar corect care trebuie in propozitia: " ... I listen to music?".
has have Can
 Can I listen to music?
- Pot asculta muzica?
Alegeti verbul corect care trebuie in propozitia: "Me ... las frutas dulces"
están gustan gusta
Me gustan las frutas dulces.
- Imi plac fructele dulci.
Class si Style cu Vue.js

Last accessed pages

  1. Proverbe, expresii si zicatori (9860)
  2. Cursuri Limba Rusa (3114)
  3. Verbe Dinamice si Statice - Dynamic and Static Verbs (5311)
  4. Curs HTML gratuit Tutoriale HTML5 (79571)
  5. Genul substantivelor 1 (5258)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (540)
  2. Curs HTML gratuit Tutoriale HTML5 (437)
  3. Curs si Tutoriale Ajax (374)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (374)
  5. Curs CSS Online Tutoriale CSS3 (372)