Como estilo de um formulário HTML usando classes? [fechado]

estou a tentar adicionar estilos a este formulário, mas como tenho outras áreas semelhantes numa pesquisa (submeter, por exemplo), preciso de adicionar classes para estilo deste formulário usando o CSS. Qualquer ajuda seria muito apreciada.

<perch:form id="contact" method="post" app="perch_forms">

<perch:content id="intro" type="textarea" label="Intro" textile="true" editor="markitup"     size="m" />

<div>
<perch:label for="name">Name</perch:label>
<perch:input type="text" id="name" required="true" label="Name" antispam="name" />
<perch:error for="name" type="required">add your name</perch:error>
</div>

<div>
<perch:label for="email">Email</perch:label>
<perch:input type="email" id="email" required="true" label="Email" antispam="email" placeholder="" />
<perch:error for="email" type="required">add your email</perch:error>
<perch:error for="email" type="format">check your email</perch:error>
</div>

<div>
<perch:label for="message">Message</perch:label>
<perch:input type="textarea" id="message" required="true" label="Message" />
</div>

<div>
<perch:input type="submit" id="submit" value="Send" />
</div>

<perch:success>
<perch:content id="success" type="textarea" label="Thank you message" textile="true" editor="markitup" />
</perch:success>
</perch:form>
Author: CRABOLO, 2014-07-16

2 answers

IDs e como você pode usá-los

Se você quer estilizar apenas esta forma em si, você nem precisa adicionar aulas. Basta prefaciar cada um dos seus selectores de CSS com o ID do elemento que contém o exterior. Por exemplo...

Esta primeira linha contém toda a forma...

<perch:form id="contact" method="post" app="perch_forms">

Note que a linha acima tem uma identificação específica... id="contact" este ID é único, ID's só pode ser usado uma vez por página, você também pode nomeá-los o que quiser, desde que eles não comeces com um número.

Ao pré-configurar todos os seus selectores de CSS com este ID, irá efectuar apenas os elementos dentro do elemento a que o ID Está ligado... Mencionou o uso de input[type=submit] e que mudou todos os botões do seu site. Muda esse selector para isto em vez disso:

#contact input[type=submit] { }

O selector acima irá agora afectar apenas as entradas com um tipo de envio que estão contidas dentro do contacto ID. É importante notar que o símbolo hash - # - designa " ID " em a tua folha de CSS.


Aulas e como as podes usar

Se tiver de usar classes, o que é recomendado para quaisquer estilos que possam ser reutilizados noutro local, então terá simplesmente de adicionar class="classname" ao elemento a que deseja que a classe se aplique.

Por exemplo, se quiséssemos mudar a cor do texto no botão enviar usando uma classe, poderíamos fazer isso... Primeiro adicionamos uma classe ao html: Isto... <perch:input type="submit" id="submit" value="Send" /> Torna-se isto... <perch:input class="whitetext" type="submit" id="submit" value="Send" />

Note o class="whitetext"

Então em CSS escreveríamos:
.whitetext { color: #fff; }

Note que o carácter do período designa uma "classe" numa folha CSS.


Combinando IDs e classes

Você também pode combinar estes dois ou mesmo os três. Isto aumenta a sua especificidade. Por exemplo...

#contact input[type="submit"].whitetext { color: #fff; }

O selector acima irá mudar a cor de texto de um elemento de entrada para branco, apenas se o elemento de entrada tiver o valor do tipo de "submeter" e essa mesma entrada também tem que ter uma classe de "whitetext" E a entrada também é descendente de um elemento que tem o valor de ID de "contato".

 2
Author: Michael, 2014-07-16 18:48:36

Para estilo do botão Enviar

Código De Exemplo:

input#submit {
    color: #444444;
    text-shadow: 0px 1px 1px #ffffff;
    border-bottom: 2px solid #b2b2b2;
    background-color: #b9e4e3;
    background: -webkit-gradient(linear, left top,   left bottom, from(#beeae9), to(#a8cfce));
    background: -moz-linear-gradient(top, #beeae9, #a8cfce);
    background: -o-linear-gradient(top, #beeae9, #a8cfce);
    background: -ms-linear-gradient(top, #beeae9, #a8cfce);
}

input#submit:hover {
    color: #333333;
    border: 1px solid #a4a4a4;
    border-top: 2px solid #b2b2b2;
    background-color: #a0dbc4;
    background: -webkit-gradient(linear, left top,   left bottom, from(#a8cfce), to(#beeae9));
    background: -moz-linear-gradient(top, #a8cfce, #beeae9);
    background: -o-linear-gradient(top, #a8cfce, #beeae9);
    background: -ms-linear-gradient(top, #a8cfce, #beeae9);
} 

Para Os Ficheiros De Entrada De Estilo

Código De Exemplo:

input {
    font-size: 120%;
    color: #5a5854;
    background-color: #f2f2f2;
    border: 1px solid #bdbdbd;
    border-radius: 5px;
    padding: 5px 5px 5px 30px;
    background-repeat: no-repeat;
    background-position: 8px 9px;
    display: block;
    margin-bottom: 10px;
}

input:focus {
    background-color: #ffffff;
    border: 1px solid #b1e1e4;
}

input#email {
    background-image: url("images/email.png");
}

input#twitter {
    background-image: url("images/twitter.png");
}

input#web {
    background-image: url("images/web.png");
} 

Você pode ler mais aqui Styling HTML forms e aqui Os formulários Web do estilo usando o CSS

Você pode até gostar do gerador de forma mais fácil para fazer formas com feilds de forma comum.

 0
Author: Ashesh Kumar Singh, 2014-07-16 18:42:19