Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Alterar colunas do textarea via css do media

Olá pessoal, estou tentando adequar a responsividade no media da página de contatos mas me deparei com um problema. Na parte do elemento do textarea onde se define número de coluna e linhas no html, ao fazer a responsividade no media essa entrada pra texto fica muito grande, e não tem como diminuir de jeito nenhum. No html ela é definida em:

<label for="mensagem">Mensagem</label>
        <textarea cols="70" rows="10" id="mensagem" class="input-padrao" required></textarea>

Tentei de muitas formas diminuir no media mas não deu, o resultado que ficou foi este: https://ibb.co/Gxp1QCd

Ele extrapola o limite pra direita. O código css com html do contato está aqui: https://codepen.io/fanig01/pen/bGBbBQa

Se souberem alguma outra forma de como diminuir essa margem dele da direita ou como alterar esse número de colunas via css no media, seria bom, alguém sabe?

5 respostas

Olá, Fagner.

Primeiramente, pare de definir tamanho de uma área de texto dessa forma:


 <textarea cols="70" rows="10" id="mensagem" class="input-padrao" required></textarea>

Prefira, no HTML:


<textarea id="mensagem" class="input-padrao" required></textarea>

Já, no CSS:

Use as propriedades width e height, para definir a largura e altura, respectivamente.

Outra coisa importante, pesquise sobre medidas relativas no CSS. Geralmente, quando se precisa deixar uma aplicação responsiva, utiliza-se medidas relativas, pois os pixels são medidas fixas, logo, não se pode obter relatividade entre os tamanhos diferentes de telas dos dispositivos.

Experimente usar rem como medida relativa, pesquise mais sobre.

Seria melhor definir então tudo no class ao invés de definir um id? Já que já existe um class input-padrao, pode-se definir dentro dela não é?

E a área do textarea foi definida assim porque foi assim que foi definida no curso, e terminou o curso dessa forma. Por isso vim aqui no fórum para ver outra maneira de definir via css e não via html, até porque já deu problema pra configurar a responsividade do media.

Mas consegui reestruturar via margin, ele acabou aceitando.

Mas vlw Jessé, vou fazer dessa forma, colocando width e height, mas vou colocar na classe ou uma nova classe, acho melhor.

O width é pra coluna e height é pra linha?

solução!

Esquece ID, no CSS. Use classes. ID você usa mais para quando começar a mexer com o JS.

Quando ao textarea, sim, eu sei. Você seguiu o tutorial do curso. Porém, é sempre bom trabalhar com estilo no CSS, pois os papéis ficam melhor definidos. No HTML, faz só a marcação e deixa a estilização para o CSS.

Width = larguraHeight = altura

Outra coisa, use sempre classes para definir a estilização. Evite usar o nome do elemento puro no CSS, a não ser que você utilize para criar seu próprio reset, aí você pode usar o nome puro dos elementos para definir sua estilização padrão.

caso contrário, opte por classes. E busque por nomes que façam sentido ao propósito do que você está estilizando.

Blz vlw!!! Abordarei dessa forma sempre que possível.

Foi de grande ajuda.

De nada. Foi um prazer.