miércoles, 30 de enero de 2013
Hace sólo unos días veíamos cómo eliminar y personalizar los botones que Internet Explorer 10 añade a nuestros cuadros de edición estándar, pero nos dejábamos por detrás un caso especial: los controles de edición de contraseñas, o sea, los
<input type="password">
de toda la vida.En esta ocasión, IE10 muestra por cortesía un pequeño icono con forma de ojo, que permite visualizar el contenido del campo mientras lo mantenemos pulsado:
Si por cualquier razón queremos eliminar este botón, debemos utilizar una técnica similar a la que vimos en el post anterior, esta vez utilizando el pseudoselector
-ms-reveal
, así:input::-ms-reveal { display: none; }Y por supuesto, podríamos utilizar también este enfoque para personalizarlo y adaptarlo mejor al look de nuestro sitio web:
input::-ms-reveal { color: white; background-color: red; }Con lo que tendríamos un resultado:
Publicado en: Variable not found.
lunes, 28 de enero de 2013
Estos son los enlaces publicados en Variable not found en Facebook y Twitter del 21 al 25 de enero de 2013.
Espero que os resulten interesantes :-)
Espero que os resulten interesantes :-)
.Net
- Simple IMAP CLIENT
Sridhar Rajan - Testing async Methods in C# 5
Bill Wagner - C# Optional Parameters in Library Code
Richard Carr - IDisposable and Class Hierarchies
Peter Ritchie - The Dispose Pattern as an anti-pattern
Peter Ritchie
miércoles, 23 de enero de 2013
Va un truquillo rápido. Los que ya habéis saltado a Internet Explorer 10 seguro habréis notado el pequeño botón que este navegador añade a los cuadros de edición estándar cuando obtienen el foco, y que permite limpiar rápidamente su contenido:
Pues bien, hay veces que a nivel de diseño no nos interesa que se muestre la pequeña “X” en los controles, su posición entra en conflicto con otro elemento visual, o simplemente no queremos aportar esta funcionalidad, por lo que es posible desactivar esta característica de los
Pero seguro que te estás preguntando, ¿y en vez de eliminarla puedo personalizarla? Pues un poco también ;-) Observad el siguiente código:
Publicado en: Variable not found.
Pues bien, hay veces que a nivel de diseño no nos interesa que se muestre la pequeña “X” en los controles, su posición entra en conflicto con otro elemento visual, o simplemente no queremos aportar esta funcionalidad, por lo que es posible desactivar esta característica de los
<input>
usando CSS:input::-ms-clear{ display: none; }Tan sencillo como eso.
Pero seguro que te estás preguntando, ¿y en vez de eliminarla puedo personalizarla? Pues un poco también ;-) Observad el siguiente código:
input::-ms-clear{ background-color: red; color: white; border: 1px solid #808080; }En tiempo de ejecución, esa discreta e insípida “X” se habría convertido en algo bastante más contundente ;-)
Publicado en: Variable not found.
martes, 22 de enero de 2013
Hace poco veíamos que el nuevo sistema de routing usado por proyectos MVC 4 permitía una cierta configuración del formato de URL generadas por la aplicación al usar helpers como
Url.Action()
o Html.ActionLink()
, y cómo usando una simple línea de código podíamos hacer que las rutas se generaran usando sólo minúsculas.
lunes, 21 de enero de 2013
Estos son los enlaces publicados en Variable not found en Facebook y Twitter del 15 al 18 de enero de 2013.
Espero que os resulten interesantes :-)
Espero que os resulten interesantes :-)
.Net
- Speech recognition in C#
ProgramFOX - .NET: String Constants vs Static Readonly Fields
Ivan Krivyakov - Hidden Pitfalls With Object Initializers
Phil Haack
miércoles, 16 de enero de 2013
Cuando estamos implementando Hubs de SignalR, podemos encontrarnos fácilmente con que éstos necesitan utilizar componentes externos para llevar a cabo su tarea. Por ejemplo, es bastante probable que un servicio en tiempo real proporcionado por un Hub tenga que utilizar una clase de servicios o cualquier otro componente externo de una aplicación, como en el siguiente código:
public class MyHub: Hub { public Task sendMessage(string text) { using (var services = new LogServices()) { services.Log(Context.ConnectionId, text); return Clients.All.receiveMessage(text); } } }