Foros del Web » Creando para Internet » CSS »

Como poner un unico borde a una casilla de verificación de 1px de grosor y en gris

Estas en el tema de Como poner un unico borde a una casilla de verificación de 1px de grosor y en gris en el foro de CSS en Foros del Web. Hola a todos: Pues eso intento poner una casilla de verificación con un borde solido y en color gris, de forma que no me quede ...
  #1 (permalink)  
Antiguo 19/11/2007, 14:42
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Como poner un unico borde a una casilla de verificación de 1px de grosor y en gris

Hola a todos:
Pues eso intento poner una casilla de verificación con un borde solido y en color gris, de forma que no me quede ese sombreado a la izquierda y arriba del cuadrado, pero lo que consigo es que aparezca otro cuadrado delimitando al que va sombreado.
¿Como puedo hacer esto?.
El estilo que utilizo es:
border: solid 1px gray;

Gracias
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #2 (permalink)  
Antiguo 20/11/2007, 01:34
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Como poner un unico borde a una casilla de verificación de 1px de grosor y en gri

Hola ciberpata

Me temo que no se puede.

Saludos,
  #3 (permalink)  
Antiguo 21/11/2007, 03:37
Avatar de Perovic  
Fecha de Ingreso: agosto-2006
Mensajes: 56
Antigüedad: 17 años, 8 meses
Puntos: 1
Re: Como poner un unico borde a una casilla de verificación de 1px de grosor y en gri

Si lo que te refieres es a un Checkbox o un Radiobutton, yo también tuve el mismo problema hace tiempo, y no había solución posible mediante Css.

Ahora, si, utilizando un Javascript que hay, se puede sustituir dichos elementos por imágenes ( casi no se aprecia la diferencia ), y darles el aspecto que desees.

Si te interesa y es tu problema, dimelo y te busco el código si quieres.

Un saludo.
  #4 (permalink)  
Antiguo 21/11/2007, 04:12
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Re: Como poner un unico borde a una casilla de verificación de 1px de grosor y en gri

Pues si puedes pasarmelo, te lo agradecería
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #5 (permalink)  
Antiguo 21/11/2007, 05:42
Avatar de Perovic  
Fecha de Ingreso: agosto-2006
Mensajes: 56
Antigüedad: 17 años, 8 meses
Puntos: 1
Re: Como poner un unico borde a una casilla de verificación de 1px de grosor y en gri

Aquí tienes la solución, espero que te ayude, no tengo documentación que pasasrte, pero bueno pegándote un poco lo entenderás :)...

Código:
//global variables that can be used by ALL the function son this page.
var inputs;
var imgFalse = '_style/_img/_desing/check-n.gif';
var imgTrue = '_style/_img/_desing/check-y.gif';

var tickTrue = '_style/_img/_desing/tick-y.gif';
var tickFalse = '_style/_img/_desing/tick-n.gif';

//this function runs when the page is loaded, put all your other onload stuff in here too.
function init() {
	replaceChecks();
	replaceTicks();
}

function replaceChecks() {
	
	//get all the input fields on the page
	inputs = document.getElementsByTagName('input');

	//cycle trough the input fields
	for(var i=0; i < inputs.length; i++) {

		//check if the input is a radio
		if(inputs[i].getAttribute('type') == 'radio') {
			
			//create a new image
			var img = document.createElement('img');
			
			//check if the radio is checked
			if(inputs[i].checked) {
				img.src = imgTrue;
			} else {
				img.src = imgFalse;
			}

			//set image ID and onclick action
			img.id = 'checkImage'+i;
			//set image 
			img.onclick = new Function('checkChange('+i+')');
			//place image in front of the radio
			inputs[i].parentNode.insertBefore(img, inputs[i]);
			
			//hide the radio
			inputs[i].style.display='none';
		}
	}
}

function replaceTicks() {
	
	//get all the input fields on the page
	inputs = document.getElementsByTagName('input');

	//cycle trough the input fields
	for(var i=0; i < inputs.length; i++) {

		//check if the input is a radio
		if(inputs[i].getAttribute('type') == 'checkbox') {
			
			//create a new image
			var img = document.createElement('img');
			
			//check if the radio is checked
			if(inputs[i].checked) {
				img.src = tickTrue;
			} else {
				img.src = tickFalse;
			}

			//set image ID and onclick action
			img.id = 'tickImage'+i;
			//set image 
			img.onclick = new Function('tickChange('+i+')');
			//place image in front of the radio
			inputs[i].parentNode.insertBefore(img, inputs[i]);
			
			//hide the radio
			inputs[i].style.display='none';
		}
	}
}

//change the radio status and the replacement image
function tickChange(i) {

	if(inputs[i].checked) {
		inputs[i].checked = '';
		document.getElementById('tickImage'+i).src=tickFalse;
	} else {
		inputs[i].checked = 'checked';
		document.getElementById('tickImage'+i).src=tickTrue;
	}
}
//change the radio status and the replacement image
function checkChange(i) {

	if(inputs[i].checked) {
		inputs[i].checked = '';
		document.getElementById('checkImage'+i).src=imgFalse;
	} else {
		inputs[i].checked = 'checked';
		document.getElementById('checkImage'+i).src=imgTrue;
	}
}

window.onload = init;
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:40.