Responsive CSS Cercles
Objectif:
Responsive CSS cercles:
- Échelle avec l'égalité de rayon.
- Rayon peut être calculé en pour cent.
- Rayon peut être contrôlé par des requêtes de média.
Si la solution est javascript, j'ai encore besoin d'émuler les médias requête déclenche. Je n'ai pas "besoin" media queries mais je ne veux pas la capacité de contrôler le rayon en pourcentage à certaines largeurs:
@media (max-width : 320px)
{
.x2{padding: 50%;}
}
@media (min-width : 321px) and (max-width : 800px)
{
.x2{padding: 25%;}
}
@media (min-width: 801px)
{
.x2{padding: 12.5%;}
}
Voici ce que j'ai à ce jour:
<div class="x1">
<div class="x2">
lol dude
</div>
<div class="x2"></div>
<div class="x2"></div>
<div class="x2"></div>
</div>
.x1
{
float:left;
width:100%;
}
.x2
{
display:block;
float:left;
padding: 12.5%; //Currently being used to control radius.
width:auto;
height:auto;
border-radius:50%;
-moz-border-radius:50%;
-webkit-border-radius:50%;
-khtml-border-radius: 50%;
background:#eee;
text-align:center;
}
Problèmes:
Dans cette solution, lorsque le contenu est ajouté à un cercle:
- La forme se crispe lorsque mise à l'échelle passé, il est disponible rembourrage.
- Augmente la taille du rayon.
Mise à jour:
J'ai construit une solution de travail pour ce ici:
Responsive CSS Cercles
- Les problèmes que vous avez énumérés sont causés par
width: auto; height: auto;
. Sont fixes dimensions acceptables? Peut-être avec une relative unités? - Ça va être dur de le faire travailler avec CSS, étant que la largeur et la hauteur doivent être les mêmes, et depuis il est sensible, vous ne serez pas en mesure de le dire.
- Le besoin est vraiment de sorte que le rayon ou le diamètre peut être calculée en pour cent, comme dans l'exemple.
- Je ne suis pas contre l'utilisation de javascript, mais nous avons encore besoin de garder les médias requête déclenche dans l'esprit.
@media
les requêtes ne sont pas nécessaire dans votre cas.- Comment sur l'ajustement de la teneur en un élément en position absolue? jsfiddle.net/QmPhb/4
- Je ne suis pas sûr que je comprends ce que tu veux, consultez cet exemple à l'aide de dimensions fixes.
- Veuillez consulter les mises à jour pour voir ce que je veux dire.
- Oui, bien sûr! Va faire. 🙂
- Mec, vérifier à l'aide de
@media
requêtes: jsfiddle.net/QmPhb/10/embedded/result avez-vous encore besoin d'eux? Sérieusement? Il fait le craps en place tout au lieu de nous aider! - Je n'ai pas "besoin" d'eux haha mais je ne veux pas la capacité de contrôler le rayon en pourcentage à certaines largeurs. Même si la solution utilise javascript.
- Ah! Je ne comprends toujours pas votre cas d'utilisation!
:P
Pourriez-vous nous expliquer d'une manière détaillée, de nouveau? Désolé!:(
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin
@media
requêtes pour cet. C'est ma essayer, pur CSS:Violon
Plein Écran
:O
Donnez-moi quelques minutes va se terminer bientôt.:)
o-border-radius
(ce qui est correct puisque, je pense, de l'Opéra -ainsi que Webkit et Mozilla pouvez simplement utiliser leborder-radius
de la propriété).Plus Court Code
Cette solution réduit la taille du code, mais conserve la fonctionnalité en place. J'ai gardé l'original
.x#
, l'élimination de la.x0
,.x3
, et.x6
qui n'étaient pas nécessaires. Ainsi, dans une dernière solution, vous auriez probablement renuméroter (mais je voulais vous faire voir ce qui a été éliminée).L'un de vos morceaux de "découpage" du cercle qui nécessitent un autre
top
ouleft
réglage aurez besoin d'avoir un sélecteur qui respecte ou dépasse les.x2 > div
sélecteur de remplacer, c'est pourquoi j'ai.x2 > .x7
etc. pour certains de mes sélecteurs.(Comme indiqué dans les commentaires ci-dessous, Chrome a un bug questions avec la technique originale de l'OP avait publié à l'époque de la prime de départ. Ce n'est pas la solution, donc la suite dans un autre navigateur.)
Voici la modification de violon.
HTML
CSS
EDIT: Basée sur les commentaires, il semble que l'OP souhaité quelque chose de plus comme le contrôle de ce violon offre (non-fonctionnelle en Chrome; l'OP n'a pas au moment de cette édition a répondu pour moi de savoir si c'est le type de fonctionnalité désirée ou non).
.x2
divs sont empilement d'amende. Vous avez également éliminé.x3
...ce qui est excellent. Ce que je voulais dire, c'est que l'utilisation des remplacements pour appliquer des styles de.x2
éléments d'enfant n'est pas souhaitable..x2
blocs sans personnalisation) et optimise code arbitraire (trim gras comme.x3
seulement utilisé comme une classe d'assistance pour accueillir les introduire de la flexibilité dans.x2
). Un idéal la solution serait une classe unique qui a permis à un développeur de trop utiliser.x2
comme unblock
ainsi que les contiennent.layout
classe sur le contenu de son enveloppe. Qui plus est, ce que vous êtes en train de parler? Il n'est certainement pas nécessairement des "petits" dans la taille, mais la classe de mise en page peut être codée par le développeur et la classe appliquée par l'utilisateur.Solution:
http://jsfiddle.net/WTWrB/
La DIV structure:
Nous utilisons
overflow:hidden
dans.x2
de déversement hors des couleurs d'arrière-plan dans.x3
des éléments enfants.
Préavis le contenu commence à l'intérieur de
.x3
Le CSS:
Je sais que cette solution diffère un peu de ce qui a été proposé ici, mais j'ai toujours pensé qu'il serait intéressant de le mettre en place.
J'ai utilisé une image comme un masque pour créer le cercle, et profita du fait que, lorsque le remplissage est indiquée sous forme de pourcentage, il est calculé en fonction de la largeur de son élément parent, plutôt que de la hauteur. Cela m'a permis de créer un carré parfait.
Démonstration de cercles proportionnellement redimensionnement ici
Code HTML
Code CSS
Démonstration des cercles au-dessus de sous-divisé en sections, par votre question ici