Skip to content

Commit b699ca9

Browse files
authored
Merge pull request #15 from Teraglehn/traduction/class-and-style
traduction de class-and-style.md
2 parents 0d2ab14 + 6cd0181 commit b699ca9

File tree

1 file changed

+35
-35
lines changed

1 file changed

+35
-35
lines changed

Diff for: src/v2/guide/class-and-style.md

+35-35
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
---
2-
title: Class and Style Bindings
2+
title: Liaisons de classes et de styles
33
type: guide
44
order: 6
55
---
66

7-
<p class="tip">**Cette page est en cours de traduction française. Revenez une autre fois pour lire une traduction achevée ou [participez à la traduction française ici](https://github.com/vuejs-fr/vuejs.org).**</p>A common need for data binding is manipulating an element's class list and its inline styles. Since they are both attributes, we can use `v-bind` to handle them: we just need to calculate a final string with our expressions. However, meddling with string concatenation is annoying and error-prone. For this reason, Vue provides special enhancements when `v-bind` is used with `class` and `style`. In addition to strings, the expressions can also evaluate to objects or arrays.
7+
Un besoin classique de la liaison de données est la manipulation de la liste des classes d'un élément, ainsi que ses styles en ligne. Puisque ce sont tous deux des attributs, il est possible d'utiliser `v-bind` pour les gérer : Il faut simplement générer une chaîne de caractère avec nos expressions. Cependant la concaténations de chaîne de caractères est fastidieuse, et source d'erreur. Pour cette raison, Vue fournit des améliorations spécifiques quand `v-bind` est utilisé avec `class` et `style`. En plus des chaînes de caractères, l'expression peut évaluer des objets ou des tableaux.
88

9-
## Binding HTML Classes
9+
## Liaison de Classes HTML
1010

11-
### Object Syntax
11+
### Syntaxe Objet
1212

13-
We can pass an object to `v-bind:class` to dynamically toggle classes:
13+
Il est possible de passer un objet à `v-bind:class` pour permuter les classes automatiquement :
1414

1515
``` html
1616
<div v-bind:class="{ active: isActive }"></div>
1717
```
1818

19-
The above syntax means the presence of the `active` class will be determined by the [truthiness](https://developer.mozilla.org/en-US/docs/Glossary/Truthy) of the data property `isActive`.
19+
La syntaxe ci-dessus signifie que la classe `active` sera présente si la propriété `isActive` est [évaluée à vrai](https://developer.mozilla.org/fr/docs/Glossaire/Truthy).
2020

21-
You can have multiple classes toggled by having more fields in the object. In addition, the `v-bind:class` directive can also co-exist with the plain `class` attribute. So given the following template:
21+
Vous pouvez permuter plusieurs classes en ayant plus de champs dans l'objet. De plus, la directive `v-bind:class` peut aussi coexister avec l'attribut `class`. Donc, avec le template suivant :
2222

2323
``` html
2424
<div class="static"
2525
v-bind:class="{ active: isActive, 'text-danger': hasError }">
2626
</div>
2727
```
2828

29-
And the following data:
29+
Et les données suivantes :
3030

3131
``` js
3232
data: {
@@ -35,15 +35,15 @@ data: {
3535
}
3636
```
3737

38-
It will render:
38+
Le rendu sera :
3939

4040
``` html
4141
<div class="static active"></div>
4242
```
4343

44-
When `isActive` or `hasError` changes, the class list will be updated accordingly. For example, if `hasError` becomes `true`, the class list will become `"static active text-danger"`.
44+
Quand `isActive` ou `hasError` change, la liste des classes sera mise à jour en conséquence. Par exemple, si `hasError` devient `true`, la liste des classes deviendra `"static active text-danger"`.
4545

46-
The bound object doesn't have to be inline:
46+
L'objet lié n'a pas besoin d'être déclaré dans l'attribut :
4747

4848
``` html
4949
<div v-bind:class="classObject"></div>
@@ -57,7 +57,7 @@ data: {
5757
}
5858
```
5959

60-
This will render the same result. We can also bind to a [computed property](computed.html) that returns an object. This is a common and powerful pattern:
60+
Ceci rendra le même résultat. Il est également possible de lier une [propriétés calculées](computed.html) qui retourne un objet. C'est une méthode courante et puissante :
6161

6262
``` html
6363
<div v-bind:class="classObject"></div>
@@ -77,9 +77,9 @@ computed: {
7777
}
7878
```
7979

80-
### Array Syntax
80+
### Syntaxe Tableau
8181

82-
We can pass an array to `v-bind:class` to apply a list of classes:
82+
Il est possible de passer un tableau à `v-bind:class` pour appliquer une liste de classe :
8383

8484
``` html
8585
<div v-bind:class="[activeClass, errorClass]">
@@ -91,69 +91,69 @@ data: {
9191
}
9292
```
9393

94-
Which will render:
94+
Ce qui rendra :
9595

9696
``` html
9797
<div class="active text-danger"></div>
9898
```
9999

100-
If you would like to also toggle a class in the list conditionally, you can do it with a ternary expression:
100+
Si vous voulez permuter une classe de la liste en fonction d'une condition, vous pouvez le faire avec une expression ternaire :
101101

102102
``` html
103103
<div v-bind:class="[isActive ? activeClass : '', errorClass]">
104104
```
105105

106-
This will always apply `errorClass`, but will only apply `activeClass` when `isActive` is `true`.
106+
Ceci appliquera toujours la classe `errorClass`, mais appliquera `activeClass` uniquement quand `isActive` vaut `true`.
107107

108-
However, this can be a bit verbose if you have multiple conditional classes. That's why it's also possible to use the object syntax inside array syntax:
108+
En revanche, ce peut être un peu verbeux si vous avez plusieurs classes conditionnelles. C'est pourquoi il est aussi possible d'utiliser la syntaxe objet dans la syntaxe tableau :
109109

110110
``` html
111111
<div v-bind:class="[{ active: isActive }, errorClass]">
112112
```
113113

114-
### With Components
114+
### Avec des Composants
115115

116-
> This section assumes knowledge of [Vue Components](components.html). Feel free to skip it and come back later.
116+
> Cette section suppose la connaissance de [Vue Composants](components.html). N'hésitez pas à l'ignorer et y revenir plus tard.
117117
118-
When you use the `class` attribute on a custom component, those classes will be added to the component's root element. Existing classes on this element will not be overwritten.
118+
Quand vous utilisez l'attribut `class` sur un composant personnalisé, ces classes seront ajoutées à l'élément à la racine du composant. Les classes présentes sur cet élément ne seront pas réécrites.
119119

120-
For example, if you declare this component:
120+
Par exemple, si vous déclarez ce composant :
121121

122122
``` js
123123
Vue.component('my-component', {
124124
template: '<p class="foo bar">Hi</p>'
125125
})
126126
```
127127

128-
Then add some classes when using it:
128+
​Puis ajoutez quelques classes quand vous l'utilisez :
129129

130130
``` html
131131
<my-component class="baz boo"></my-component>
132132
```
133133

134-
The rendered HTML will be:
134+
Le rendu HTML sera :
135135

136136
``` html
137137
<p class="foo bar baz boo">Hi</p>
138138
```
139139

140-
The same is true for class bindings:
140+
C'est aussi vrai pour la liaison de classe :
141141

142142
``` html
143143
<my-component v-bind:class="{ active: isActive }"></my-component>
144144
```
145145

146-
When `isActive` is truthy, the rendered HTML will be:
146+
Quand `isActive` est évalué à vrai, le rendu HTML sera :
147147

148148
``` html
149149
<p class="foo bar active"></p>
150150
```
151151

152-
## Binding Inline Styles
152+
## Liaison de Styles HTML
153153

154-
### Object Syntax
154+
### Syntaxe objet
155155

156-
The object syntax for `v-bind:style` is pretty straightforward - it looks almost like CSS, except it's a JavaScript object. You can use either camelCase or kebab-case (use quotes with kebab-case) for the CSS property names:
156+
La syntaxe objet pour `v-bind:style` est assez simple - cela ressemble presque à CSS, sauf que c'est un objet JavaScript. Vous pouvez utiliser camelCase ou kebab-case (utilisez des apostrophes avec kebab-case) pour les noms des propriétés CSS :
157157

158158
``` html
159159
<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
@@ -165,7 +165,7 @@ data: {
165165
}
166166
```
167167

168-
It is often a good idea to bind to a style object directly so that the template is cleaner:
168+
C'est souvent une bonne idée de lier directement un objet de style, pour que le template soit plus propre :
169169

170170
``` html
171171
<div v-bind:style="styleObject"></div>
@@ -179,16 +179,16 @@ data: {
179179
}
180180
```
181181

182-
Again, the object syntax is often used in conjunction with computed properties that return objects.
182+
Encore une fois, la syntaxe objet est souvent utilisée en conjonction avec des propriétées calculées retournant des objets.
183183

184-
### Array Syntax
184+
### Syntaxe tableau
185185

186-
The array syntax for `v-bind:style` allows you to apply multiple style objects to the same element:
186+
La syntaxe tableau pour `v-bind:style` permet d'appliquer plusieurs objets de style à un même élément.
187187

188188
``` html
189189
<div v-bind:style="[baseStyles, overridingStyles]">
190190
```
191191

192-
### Auto-prefixing
192+
### Préfixage automatique
193193

194-
When you use a CSS property that requires vendor prefixes in `v-bind:style`, for example `transform`, Vue will automatically detect and add appropriate prefixes to the applied styles.
194+
Quand vous utilisez une propriété CSS qui nécessite un préfixe vendeur dans `v-bind:style`, par exemple `transform`, Vue le détectera automatiquement, et ajoutera les préfixes appropriés aux styles appliqués.

0 commit comments

Comments
 (0)