Pergunta noob total, mas aqui.
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>
Basicamente, estou tentando emular um botão, fazer um intervalo (ou algo assim) parecer um botão ao lado de um campo de entrada que realmente não precisa ser um por causa de um gerador de preenchimento automático que gera erros no Enter. Pensei que isso seria uma solução rápida por enquanto, mas obviamente não.
Obrigado.
Respostas:
Span é um elemento embutido. Não tem largura ou altura.
Você pode transformá-lo em um elemento no nível do bloco, e ele aceitará suas diretrizes de dimensão.
fonte
display: block
for especificado, o span deixará de ser um elemento embutido e um elemento depois que ele aparecer na próxima linha. Preciso de um elemento em linha, mas que possa ter a largura desejada.Tente usar uma
div
vez dospan
ou usando o CSSdisplay: block;
oudisplay: inline-block;
-span
é, por padrão um elemento inline que não pode tomarwidth
eheight
propriedades.fonte
Inspirado no @Hamed, adicionei o seguinte e funcionou para mim:
fonte
A extensão ocupa largura e altura somente quando o fazemos bloquear o elemento.
fonte
display: inline-block;
é melhorDe acordo com o comentário de @Paul, se o bloco display: for especificado, o span deixará de ser um elemento inline e um elemento depois que ele aparecer na próxima linha.
Eu vim aqui para encontrar solução para o meu problema de altura do vão e eu tenho uma solução própria
Adicionando
overflow:hidden;
e keeing-lo em linha vai resolver o problema apenas testado no modo IE8 Quirksfonte
overflow:hidden;
neste contexto. "O conteúdo é cortado, sem barras de rolagem", diz MDN . Parece contra-intuitivo. O que faz aqui?span
Por padrão, os s são exibidos em linha, o que significa que eles não têm altura e largura.Tente adicionar um
display: block
ao seu período.fonte
O período começa como um elemento embutido. Você pode alterar seu atributo de exibição para bloquear, por exemplo, e seus atributos de altura / largura começarão a ter efeito.
fonte
span {display:block;}
também adiciona uma quebra de linha.Para evitar isso, use
span {display:inline-block;}
e, em seguida, você pode adicionar largura e altura ao elemento embutido e também pode alinhá-lo dentro do bloco:mais aqui
fonte