¿Cómo creo un menú que se vea así ...
No quiero usar las imágenes PSD. Preferiría usar iconos de algún paquete como FontAwesome y tener los fondos / css generados en CSS.
Aquí puede encontrar una versión del menú que está usando el PSD para generar imágenes de la información sobre herramientas y luego usarlo .
css
tooltip
css-shapes
ssb
fuente
fuente
Respuestas:
Casi 3 años después, finalmente me tomé el tiempo de revisar esto y publicar una versión mejorada. Todavía puede ver la respuesta original al final como referencia.
Si bien SVG puede ser la mejor opción, especialmente hoy, mi objetivo con esto era mantenerlo solo HTML y CSS, sin JS, sin SVG, sin imágenes (aparte del fondo en el elemento raíz).
Demo 2015
Capturas de pantalla
Chrome 43:
Firefox 38:
IE 11:
Código
El HTML es bastante simple. Estoy usando la casilla de verificación piratear para revelar / ocultar el menú.
Estoy usando Sass para mantener esto lógico y facilitar el cambio de cosas si es necesario. Muy comentado.
Mostrar fragmento de código
Respuesta original
Mi intento de hacer algo por el estilo con CSS puro:
manifestación
(haga clic en la estrella)
Funciona en Chrome, Firefox (un efecto de desenfoque un poco extraño en el desplazamiento), Opera (los extremos se ven más pequeños) y Safari (los extremos se ven más pequeños).
fuente
:focus
camino" . En realidad es un método bastante antiguo, lo vi por primera vez por Stu Nicholls en sus experimentos en cssplay.co.uk hace unos años. En el CSS anterior, es el.button:focus + .tip
que hace el truco.¡La respuesta de Ana es patear traseros! Eso es algo serio de CSS-fu.
Puede que mi solución no sea exactamente lo que esperabas, pero es otra posible solución. Estoy trabajando en una interfaz de brújula en este momento que tiene un estilo similar de botones en forma de arco. Decidí desarrollarlo usando Raphael y SVG.
Creé una forma de arco en Illustrator, exporté el SVG para él, tomé la definición de ruta para el arco del archivo SVG exportado y utilicé Raphael para construir mi interfaz con él.
Aquí hay un JSFiddle .
Aquí está el JavaScript:
Aquí está el CSS relacionado:
fuente
Otra muy buena forma sería usar JavaScript para el posicionamiento.
DEMO + TUTORIAL sobre cómo hacer un menú radial animado
Un profesional de este método es que puede usar cualquier número de elementos y seguirá posicionándolos radialmente, sin tener que cambiar ninguno de sus CSS.
El JavaScript en cuestión es:
fuente