Brèves

WebTV

Actualité de la scène

Compétitions

Forum
Index du forum > VaKarM > Le bistrot > Barre de navigation html/css
Barre de navigation html/css - 19 messages, 3624 vues
Page 2 sur 2
1
2
Réponse #11
Par h1z0w - 30/10/2017 22:59:43 - Modifié le 30/10/2017 23:33:36
Pars directement sur de bonne bases en utilisant des frameworks tel que bootstrap.
Déjà parce que ça va te réduire ton travail comme pas possible et parce que ce genre de besoin est prévue justement. Les fichiers min permettent un chargement ultra rapide.


Pourquoi conseiller des framework à quelqu'un en phase d'apprentissage ?

Désolé mais ces outils sont certes très bien fait et très utiles, mais il faut savoir le faire d'abord.

Faire du bootstrap sans maîtriser css n'apporte rien, il faut comprendre dans un premier temps.

+1

Sinon je n'ai pas trop compris ce que souhaitais exactement l'auteur du topic
OK j'avais mal lu, et bien tu es obligé de passer par du JS pour changer l'état CSS de ton élément quand tu arrives à une certaine hauteur d'image / dépasse un certain élément de ton DOM.
Réponse #12
Par W4ve You - 30/10/2017 23:35:45
Pars directement sur de bonne bases en utilisant des frameworks tel que bootstrap.
Déjà parce que ça va te réduire ton travail comme pas possible et parce que ce genre de besoin est prévue justement. Les fichiers min permettent un chargement ultra rapide.


Pourquoi conseiller des framework à quelqu'un en phase d'apprentissage ?

Désolé mais ces outils sont certes très bien fait et très utiles, mais il faut savoir le faire d'abord.

Faire du bootstrap sans maîtriser css n'apporte rien, il faut comprendre dans un premier temps.

+1

Sinon je n'ai pas trop compris ce que souhaitais exactement l'auteur du topic
OK j'avais mal lu, et bien tu es obligé de passer par du JS pour changer l'état CSS de ton élément quand tu arrives à une certaine hauteur d'image / dépasse un certain élément de ton DOM.


J'ai réussi à m'en sortir sans JS en utilisant une position: sticky; et un top: 0px;
Réponse #13
Par Spotted-2 - 31/10/2017 03:04:07
Pars directement sur de bonne bases en utilisant des frameworks tel que bootstrap.
Déjà parce que ça va te réduire ton travail comme pas possible et parce que ce genre de besoin est prévue justement. Les fichiers min permettent un chargement ultra rapide.


Pourquoi conseiller des framework à quelqu'un en phase d'apprentissage ?

Désolé mais ces outils sont certes très bien fait et très utiles, mais il faut savoir le faire d'abord.

Faire du bootstrap sans maîtriser css n'apporte rien, il faut comprendre dans un premier temps.

+1

Sinon je n'ai pas trop compris ce que souhaitais exactement l'auteur du topic
OK j'avais mal lu, et bien tu es obligé de passer par du JS pour changer l'état CSS de ton élément quand tu arrives à une certaine hauteur d'image / dépasse un certain élément de ton DOM.


J'ai réussi à m'en sortir sans JS en utilisant une position: sticky; et un top: 0px;


Oui mais tu utilise du html5 et du css3 pour la position sticky, je pense que tu devrais apprendre à le faire en html4 et css2 pour apprendre vraiment les bases. Ton menu sticky ne fonctionnera pas sur internet explorer 6 par exemple ou sur des version de firefox non mise à jour.
Et surtout n'utilise pas jquery pour faire du javascript sinon tu ne comprendra jamais rien au js !
Réponse #14
Par Haystack - 31/10/2017 08:14:23

Oui mais tu utilise du html5 et du css3 pour la position sticky, je pense que tu devrais apprendre à le faire en html4 et css2 pour apprendre vraiment les bases. Ton menu sticky ne fonctionnera pas sur internet explorer 6 par exemple ou sur des version de firefox non mise à jour.
Et surtout n'utilise pas jquery pour faire du javascript sinon tu ne comprendra jamais rien au js !


Faut arrêter avec IE6. On est en plus en 2003 avec des Windows XP partout. IE représente moins de 5% et IE6 représente moins de 1% des 5%.

Pour te faire une idée de la compatibilité, regarde ce site.
https://caniuse.com/#search=sticky

Sticky fonctionne sur tous les navigateurs à l'exception de IE11. Mais Edge fonctionne. Faut juste pas le mettre sur des éléments de tableaux. Ça dépend après de toi, si tu souhaites ou non conserver la compatibilité IE.

Il existe sinon des petits plugins jQuery comme ça : http://stickyjs.com/

Honnêtement, aujourd'hui, je conseillerais aux gens d'apprendre directement Angular (4+) pour faire du front.

Mais si tu préfères commencer avec jQuery, vas y. Les mecs qui conseillent de connaître le VannilaJS avant toute chose...Suivant cette logique, vous devez à tout prix connaître C++ avant toute autre langage objet. Pour bien connaître la gestion de mémoire et les pointeurs/références avant de passer à d'autres langages objets moins chiants...(python / java)
Réponse #15
Par carotte - 31/10/2017 09:49:11

Oui mais tu utilise du html5 et du css3 pour la position sticky, je pense que tu devrais apprendre à le faire en html4 et css2 pour apprendre vraiment les bases. Ton menu sticky ne fonctionnera pas sur internet explorer 6 par exemple ou sur des version de firefox non mise à jour.
Et surtout n'utilise pas jquery pour faire du javascript sinon tu ne comprendra jamais rien au js !


Faut arrêter avec IE6. On est en plus en 2003 avec des Windows XP partout. IE représente moins de 5% et IE6 représente moins de 1% des 5%.

Pour te faire une idée de la compatibilité, regarde ce site.
https://caniuse.com/#search=sticky

Sticky fonctionne sur tous les navigateurs à l'exception de IE11. Mais Edge fonctionne. Faut juste pas le mettre sur des éléments de tableaux. Ça dépend après de toi, si tu souhaites ou non conserver la compatibilité IE.

Il existe sinon des petits plugins jQuery comme ça : http://stickyjs.com/

Honnêtement, aujourd'hui, je conseillerais aux gens d'apprendre directement Angular (4+) pour faire du front.

Mais si tu préfères commencer avec jQuery, vas y. Les mecs qui conseillent de connaître le VannilaJS avant toute chose...Suivant cette logique, vous devez à tout prix connaître C++ avant toute autre langage objet. Pour bien connaître la gestion de mémoire et les pointeurs/références avant de passer à d'autres langages objets moins chiants...(python / java)


Non mais c'est un abrutit de troll ...
D'ailleur le caniuse est dispo en plugin sur pas mal d'IDE, très pratique.
Le soucis c'est qu'ici on parle pas de langage on parle de framework, on utilise pas un framework sans maitriser la langage dans lequel il se développe.

Pourquoi angular 4 ?
Réponse #16
Par Haystack - 31/10/2017 10:16:06 - Modifié le 31/10/2017 10:20:03

Le soucis c'est qu'ici on parle pas de langage on parle de framework, on utilise pas un framework sans maitriser la langage dans lequel il se développe.


Je suis bien d'accord. Mais le mec ne souhaite peut être pas devenir un pro du développement web. S'il souhaite faire un site assez rapidement et qui soit un minimum responsive, utiliser directement boostrap ne me choque pas et je le conseillerai même. Au final, si tu suis la doc de bootstrap, t'as pas trop de questions à te poser.

Tu peux être expert bootstrap et pas maîtriser grand chose aux tricks css un peu avancés. Et inversement :)

Perso, j'ai utilisé flex avec angular sans pour autant maîtriser les attributs flex en pure css.
https://github.com/angular/flex-layout


Pourquoi angular 4 ?


EDIT : J'admets que c'est un peu hors sujet sur une simple question html/css/js.

Après, s'il souhaite faire un site standard assez rapidement, le plus rapide reste de prendre un thème wordpress responsive qui a déjà un menu sticky...
Réponse #17
Par carotte - 31/10/2017 10:45:40

Le soucis c'est qu'ici on parle pas de langage on parle de framework, on utilise pas un framework sans maitriser la langage dans lequel il se développe.


Je suis bien d'accord. Mais le mec ne souhaite peut être pas devenir un pro du développement web. S'il souhaite faire un site assez rapidement et qui soit un minimum responsive, utiliser directement boostrap ne me choque pas et je le conseillerai même. Au final, si tu suis la doc de bootstrap, t'as pas trop de questions à te poser.

Tu peux être expert bootstrap et pas maîtriser grand chose aux tricks css un peu avancés. Et inversement :)

Perso, j'ai utilisé flex avec angular sans pour autant maîtriser les attributs flex en pure css.
https://github.com/angular/flex-layout


Pourquoi angular 4 ?


EDIT : J'admets que c'est un peu hors sujet sur une simple question html/css/js.

Après, s'il souhaite faire un site standard assez rapidement, le plus rapide reste de prendre un thème wordpress responsive qui a déjà un menu sticky...


Yes je suis d'accord sur le fond, pour Angular 4 je posais la question pour savoir pourquoi tu le conseillerais, les avantages, les inconvénients etc, il à pas mal de concurrents très en vogue type ReactJs, VueJs. Du coup sa m’intéresse d'avoir un point de vue =) .
Réponse #18
Par Haystack - 31/10/2017 15:46:22
Yes je suis d'accord sur le fond, pour Angular 4 je posais la question pour savoir pourquoi tu le conseillerais, les avantages, les inconvénients etc, il à pas mal de concurrents très en vogue type ReactJs, VueJs. Du coup sa m’intéresse d'avoir un point de vue =) .


La manière de programmer le front avec un framework comme Angular est très différente du web traditionnel. Tu crées des petits composants autonomes et tu les fais communiquer les uns avec les autres via la programmation événementiel. L'autre gros avantage est l'utilisation de TypeScript, une sorte de super javascript vachement cool. Ça rend le code beaucoup plus lisible et maintenable.

Chaque composant a :
- son propre css (qui n'impacte pas les autres)
- sa propre logique
- sa propre vue (html)

C'est un arbre de composant que tu crées (un peu comme un DOM html) et qui vont être imbriqués. Un composant = une nouvelle balise html avec ses propres attributs en entrée et ses propres événements en sortie..

Ensuite tu as des services que tu vas créer et que chaque composant peut utiliser. Ex :
- le service pour accéder à l'API backend
- le service pour s'authentitifer
- le service pour log quelque part ce qui se passe dans ton application
- le service pour gérer les erreurs inattendues et les afficher en popin par exemple dans le composant principal.

React est assez différent. C'est vraiment plus une bibliothèque comme une autre que tu intègres à un projet web. Vue.js je ne sais pas trop à vrai dire. C'est le petit nouveau.

Tu n'as qu'une page html. Angular permet de tout gérer :
- gestion de formulaires
- les liens (la navigation au sens large)
- la communication http (ajax)

Tu as aussi des composants robustes maintenus par l'équipe d'Angular ici https://material.angular.io/

Bref, l'intérêt d'Angular c'est que c'est open source et maintenu par les équipes de Google. Et que pour une fois, ils semblent vouloir le maintenir sur le long terme et ils utilisent même un langage (typescript) qui lui est maintenu par Microsoft. Sur le long terme, on peut difficilement imaginer qu'ils laissent tomber le truc (bien qu'ils aient un peu laisser tomber angular1.X pour repartir de zéro ^^)
Réponse #19
Par carotte - 31/10/2017 16:29:38
Yes je suis d'accord sur le fond, pour Angular 4 je posais la question pour savoir pourquoi tu le conseillerais, les avantages, les inconvénients etc, il à pas mal de concurrents très en vogue type ReactJs, VueJs. Du coup sa m’intéresse d'avoir un point de vue =) .


La manière de programmer le front avec un framework comme Angular est très différente du web traditionnel. Tu crées des petits composants autonomes et tu les fais communiquer les uns avec les autres via la programmation événementiel. L'autre gros avantage est l'utilisation de TypeScript, une sorte de super javascript vachement cool. Ça rend le code beaucoup plus lisible et maintenable.

Chaque composant a :
- son propre css (qui n'impacte pas les autres)
- sa propre logique
- sa propre vue (html)

C'est un arbre de composant que tu crées (un peu comme un DOM html) et qui vont être imbriqués. Un composant = une nouvelle balise html avec ses propres attributs en entrée et ses propres événements en sortie..

Ensuite tu as des services que tu vas créer et que chaque composant peut utiliser. Ex :
- le service pour accéder à l'API backend
- le service pour s'authentitifer
- le service pour log quelque part ce qui se passe dans ton application
- le service pour gérer les erreurs inattendues et les afficher en popin par exemple dans le composant principal.

React est assez différent. C'est vraiment plus une bibliothèque comme une autre que tu intègres à un projet web. Vue.js je ne sais pas trop à vrai dire. C'est le petit nouveau.

Tu n'as qu'une page html. Angular permet de tout gérer :
- gestion de formulaires
- les liens (la navigation au sens large)
- la communication http (ajax)

Tu as aussi des composants robustes maintenus par l'équipe d'Angular ici https://material.angular.io/

Bref, l'intérêt d'Angular c'est que c'est open source et maintenu par les équipes de Google. Et que pour une fois, ils semblent vouloir le maintenir sur le long terme et ils utilisent même un langage (typescript) qui lui est maintenu par Microsoft. Sur le long terme, on peut difficilement imaginer qu'ils laissent tomber le truc (bien qu'ils aient un peu laisser tomber angular1.X pour repartir de zéro ^^)


Je vois, du coup c'est sensiblement la même chose que React, l'architecture en composants. En tout cas au vue de tes explications les deux ont l'air très similaires.
Je sais que React à un DOM virtuel plus rapide que le DOM réel, je sais pas si Angular à quelque chose dans le même genre.
Mais sa se ressemble beaucoup.
Merci pour le partage en tout cas =)
Réponse #20
Par SySDL - 01/11/2017 00:37:42 - Modifié le 01/11/2017 00:38:20
Hello,

Je n'ai pas lu toute les réponses mais pour ton soucis avec la barre de navigation qui n'est pas collé en haut applique un reset css au début de ton fichier style.css :

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
a{
text-decoration: none;
color: inherit;
}

ça va virer tout ce qui est margin/padding appliqué de base sur le body et donc coller exactement ta barre en haut :)
Page 2 sur 2
1
2