Pregunta novata total, pero aquí.
CSS
.product__specfield_8_arrow {
/*background-image:url(../../upload/orng_bg_arrow.png);
background-repeat:no-repeat;*/
background-color:#fc0;
width:50px !important;
height:33px !important;
border: 1px solid #dddddd;
border-left:none;
border-radius:5px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border-bottom-left-radius:0px;
border-top-left-radius:0px;
-moz-border-radius-bottomleft:0px;
-moz-border-radius-topleft:0px;
-webkit-border-bottom-left-radius:0px;
-webkit-border-top-left-radius:0px;
margin:0;
padding:2px;
cursor:pointer;
}
HTML
<span class="product__specfield_8_arrow"> </span>
Básicamente, estoy tratando de emular un botón, hacer que un espacio (o algo así) parezca un botón al lado de un campo de entrada que en realidad no necesita ser uno debido a un generador de relleno automático que genera errores en Enter. Pensé que esto sería una solución rápida por ahora, pero obviamente no.
Gracias.
Respuestas:
Span es un elemento en línea. No tiene ancho ni alto.
Podría convertirlo en un elemento de nivel de bloque, luego aceptará sus directivas de dimensión.
fuente
display: block
se especifica, span deja de ser un elemento en línea y un elemento después de que aparezca en la línea siguiente. Necesito un elemento que esté en línea, pero que pueda tener el ancho deseado.Intente usar un en
div
lugar despan
o usar el CSSdisplay: block;
odisplay: inline-block;
-span
por defecto es un elemento en línea que no puede tomarwidth
yheight
propiedades.fuente
Inspirado en @Hamed, agregué lo siguiente y funcionó para mí:
fuente
Span abarca ancho y alto solo cuando hacemos que bloquee el elemento.
fuente
display: inline-block;
es mejorSegún el comentario de @Paul, si se especifica display: block, span deja de ser un elemento en línea y un elemento después de que aparezca en la línea siguiente.
Vine aquí para encontrar una solución a mi problema de altura de tramo y obtuve una solución propia
Agregarlo
overflow:hidden;
y mantenerlo en línea resolverá el problema recién probado en el modo IE8 Quirksfuente
overflow:hidden;
en este contexto. "El contenido está recortado, sin barras de desplazamiento", dice MDN . Parece contradictorio. Que hace aquispan
Los s se muestran por defecto en línea, lo que significa que no tienen altura ni ancho.Intenta agregar un
display: block
a tu lapso.fuente
Span comienza como un elemento en línea. Puede cambiar su atributo de visualización para bloquear, por ejemplo, y sus atributos de altura / anchura comenzarán a surtir efecto.
fuente
span {display:block;}
También agrega un salto de línea.Para evitar eso, use
span {display:inline-block;}
y luego puede agregar ancho y alto al elemento en línea, y también puede alinearlo dentro del bloque:más aquí
fuente