IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Positionner des divs autour d'un cercle


Sujet :

Positionnement en CSS

  1. #1
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut Positionner des divs autour d'un cercle
    Bonjour

    Je souhaite que des div carrés se positionnent dans la page autour d'un cercle.
    Que ces div deviennent des segments de cercle en se recouvrant en partie les unes et les autres grâce à un z-index.
    Ces divs sont créés dynamiquement je souhaite donc savoir si quelqu'un à une formule pour calculer le décalage top, left et rotate de chaque div automatiquement.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Au vu de la clarté de la description que tu fais, la formule la plus adaptée serait : abracadabra...

    Il faudrait que tu décrives mieux le contexte et surtout les contraintes.
    Bien entendu, un exemple de code aiderait largement à la compréhension et donc à la résolution.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut
    Bovino j'ai essayé de mettre class="abracadabra" mais ça ne fonctionne pas
    et sinon j'essaye de faire quelque chose qui ressemble à ça.Ces div recevront ultérieurement un background-image

    Nom : exemple.jpg
Affichages : 1595
Taille : 10,2 Ko

    pour le code pour le moment j'ai ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    	<style>
    	*{
    		margin:0;
    		padding:0;
    	}
    	img{
    		position:relative;
    		z-index: 10;
    		width:100vw;
    	}
    	#a0{
    		position: relative;
    		z-index: 10;
    		width: 13vw;
    		background-color: yellow;
    		height: 12vw;
     
    		top: -45vw;
    		left: 30vw;
    		transform: rotate(91deg);
    }
    	#a1{
    		position: relative;
    		z-index: 13;
    		width: 13vw;
    		background-color: rgba(159, 24, 48, 0.5);
    		height: 12vw;
    		top: -69vw;
    		left: 72vw;
    		transform: rotate(85deg);
    	}
    	#a2{
    		position: relative;
    		z-index: 15;
    		width: 13vw;
    		background-color: rgba(57, 159, 17, 0.5);
    		height: 12vw;
    		top: -92vw;
    		left: 70vw;
    		transform: rotate(59deg);
    	}
    	#a3{
    		position: relative;
    		z-index: 6;
    		width: 13vw;
    		background-color: rgba(212, 84, 16, 0.5);
    		height: 12vw;
    		top: -113vw;
    		left: 62vw;
    		transform: rotate(43deg);
    	}
     
     
    	</style>
    </head>
    <body>
    	<img src="images/fond2.gif">
    	<div id='a0'>aaa</div>
    	<div id='a1'>aaa</div>
    	<div id='a2'>bbb</div>
    	<div id='a3'>bbb</div>
     
    </body>
    </html>
    Donc en plaçant les div une à une manuellement j'arrive au résultat escompté, mais je voudrais générer les div dynamiquement.
    Je souhaitais donc savoir si il y avait une solution pour les placer dynamiquement en cercle avec la bonne orientation.
    Images attachées Images attachées  

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 957
    Points : 44 119
    Points
    44 119
    Par défaut
    Bonjour,
    ...mais je voudrais générer les div dynamiquement.
    passe dans ce cas par du javascript.

  5. #5
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut
    merci nosmoking, je comptais effectivement passé par du JS ou du PHP pour générer les div dans la page, mais comment faire pour les positionner comme je le souhaite. L'intérêt de la construction dynamique est de pouvoir automatiser le processus. Mais il faudrait que je puisse génére aussi les positions top et left automatiquement. Je ne suis pas vraiment matheux, je ne vois pas donc pas la formule qu'il faudrait appliquer. Mais j'imagine que sur ce forum il y a des gens qui matrisent les maths, et qui auraient une idée du calcul à appliquer

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Tu peux t'inspirer de ce tutoriel dans un premier temps : Réaliser une horloge avec CSS3 et un peu de JavaScript.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 957
    Points : 44 119
    Points
    44 119
    Par défaut
    Je ne suis pas vraiment matheux,...
    l'équation d'un cercle, cela reste quand même des maths abordable.

  8. #8
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut
    merci Bovino j'ai regardé le tuto rapidement et je pense que ça va m'aider

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Positionnement des div proprement
    Par thierryG dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 22/04/2008, 12h19
  2. Probléme positionnement des DIV (image du problém)
    Par badway dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 18/10/2007, 09h32
  3. Positionnement des "div"
    Par benbax dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 07/10/2007, 18h16
  4. Positionnement des divs
    Par simstef dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 09/08/2007, 10h59
  5. Ajuster le positionnement des div
    Par kaiser59 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 03/01/2007, 21h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo