He estado buscando crear un menú circular y hasta ahora, puedo obtener el posicionamiento circular trabajando con Javascript, pero aún estaría interesado en lograr una alternativa pura de CSS.¿Cómo se crea este menú CSS?
En mi investigación descubrí este menú: http://www.cssplay.co.uk/menus/cssplay-round-and-round.html.
Para que ese menú se haya hecho dando a cada elemento de la lista una clase con un índice (p1, p2, p3 ...), los niños de los círculos secundarios tienen las clases (s1, s2, s3 ...). Luego los elementos son -webkit-transformados en su lugar desde su clase.
¿Hay alguna manera de hacer esto sin tener que codificar las clases en los elementos y escribir las reglas de CSS para cada tipo? Si no, ¿cuál es la mejor manera de hacer esto con JS?
Lo que tengo hasta ahora
He conseguido el efecto deseado por absolutamente posicionamiento de los elementos con Javascript, sin embargo no estoy realmente interesado en este tipo de solución. El código es el siguiente:
var circles = document.getElementsByClassName('circle');
var radius = circles.style.height/2;
for(var i = 0; i < circles.length; i++) {
var items = circles.children;
for(var i = 0; i < items.length) {
items.style.left = 0 + cos((i/items.length) * 360) * radius;
items.style.top = 0 + cos((i/items.length) * 360) * radius;
}
}
el código real es un poco más complejo debido a la naturaleza objeto de la devolución de style.width, sino como un ejemplo esto debe darle la esencia de las cosas.
Solo para su información, esto también se conoce como el menú Ruta, de la aplicación Path iOS. Google puede ayudarte a encontrar un tutorial, tal vez. –
¿Alguna cosa que hayas probado? – Starx
@Dan Prince, siento haber entendido mal! Buena suerte para ti! – captainrad