Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/04/2015, 19:22
Avatar de fede5426
fede5426
 
Fecha de Ingreso: diciembre-2014
Ubicación: Córdoba
Mensajes: 446
Antigüedad: 10 años, 3 meses
Puntos: 208
Respuesta: Como hacer lo siguiente en CSS y html?

Usando "required" logras esa ventanita idéntica a la que diste de ejemplo, solo en chrome.. va a depender del navegador porque es una ventana por defecto, tanto en mozilla, opera y explorer se va a ver diferente.

Si tu pregunta es como hacer la flechita, se hace con :after o :before (es indiferente cual uses).

Por ejemplo, una flechita a la derecha:

Código HTML:
Ver original
  1. <div class="cartelito">Soy Un Cartelito</div>

Código CSS:
Ver original
  1. .cartelito{
  2.   padding:.5em 1em;
  3.   background-color: #ff7461;
  4.   color:#fff;
  5.   font-family:Calibri;
  6.   font-size:1.2em;
  7.   width:150px;
  8.   text-align:center;
  9.   position:relative;
  10. }
  11.  
  12. .cartelito:after{
  13.   content:"";
  14.   border-left: 10px solid #ff7461;
  15.   border-top:10px solid transparent;
  16.   border-bottom:10px solid transparent;
  17.   position:absolute;
  18.   left:100%;
  19.   top: 10px;
  20. }

--> http://codepen.io/anon/pen/doyQxx

* EDITO: Agregué 2 cartelitos más al codepen para que se entienda mejor *

Consiste en trabajar solo en los bordes, si te fijas los bordes a medida que se agrandan "chocan" entre si y forman una esquina:



Mira que pasa si colocamos bordes gruesos:



Entonces por deducción, para hacer la flecha hacia la derecha lo que hice fue aplicarle un border-left grueso y del color de la ventanita emergente, y bordes superior e inferior tambien gruesos para formar la flecha, pero indicando que sean transparentes:



Es cuestión de ir probando tamaños hasta que quede como te guste, se pueden hacer flechas flacas y largas, anchas y pequeñas, como a vos se te ocurra y en la posición que quieras. Por ejemplo, para hacer la flechita arriba como en la imagen que mostraste, usaría un border-bottom de color y bordes left y right transparentes para que formen la flecha, con un bottom de 100% y unos pocos pixeles de left.

Un detalle, siempre tiene que haber un "content" cuando asignas estilos a un after o un before.. para este caso en especial, lo dejas vacío, pero el atributo content tiene que estar sino la flecha no va a aparecer. Y para ubicarlo vas a tener que usar posición absoluta, siempre indicando que su padre tenga posición absoluta o relativa para que tome como referencia sus bordes, en mi ejemplo el div.cartelito tiene posición relativa.

Estaba inspirado jaja espero te sirva mi explicación, mejor que esto no lo puedo hacer :P

Saludos

Última edición por fede5426; 23/04/2015 a las 19:33