1
resposta

Margem superior dos legends não funciona e input do "Outro" em outra linha

Vi várias pessoas com o mesmo problema, mas observando as respostas não consegui resolver o meu código, que apresenta dois problemas:

1 - o margin-top dos legends parece não estar funcionando adequadamente, pois o legend "Assunto:" continua grudado no grupo de cima;

2- o input text para o campo outro fica na linha de baixo do label, sendo que deveria ficar na mesma linha.

Esse é o meu código, vocês podem me ajudar pfvr?

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Contato - João da Silva</title>
    <link rel="icon" href="imagens/favicon.png">
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/site.css">
    <link rel="stylesheet" href="css/contato.css">
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Crimson+Text:400,400italic,600">
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans+Condensed:700">
</head>
<body>
    <main>
        <h1 class="titulo-principal">Contato</h1>
        <div class="container">
            <form>
                <fieldset>
                    <legend>Seus dados:</legend>
                    <label for="nome">
                        Nome:
                        <input type="text" id="nome" name="nome-contato" placeholder="Seu nome aqui" required autofocus pattern="[A-Za-z ']{4,}" title="O nome precisa ter pelo menos 4 caracteres.">
                    </label>
                    <label for="email">
                        E-mail:
                        <input type="email" id="email" name="email-contato" placeholder="nome@email.com" required>
                    </label>
                </fieldset>
                <fieldset>
                    <legend>Assunto:</legend>
                    <label>
                        <input type="radio" name="assunto" value="Blog">
                        Blog
                    </label>
                    <label>
                        <input type="radio" name="assunto" value="Serviço">
                        Serviço
                    </label>
                    <fieldset>
                        <input type="radio" name="assunto" value="Outro" id="outro">
                        <label for="outro">Outro:</label>
                        <input type="text" name="outro" placeholder="Especifique">
                    </fieldset>
                </fieldset>
                <label for='mensagem'>
                Mensagem:
                <textarea name="mensagem" id="mensagem" cols="30" rows="6" placeholder="Digite aqui sua mensagem"></textarea>
                </label>
                <button>Enviar</button>
            </form>
        </div>
    </main>
    <img src="imagens/eu.jpg" alt="Minha foto" class="minha-foto">
    <aside class="navegacao-site">
        <h1>João da Silva</h1>
        <nav>
            <ul>
                <li><a href="index.html">Home</a></li>
                <li><a href="portfolio.html">Portfolio</a></li>
                <li><a href="bio.html">Sobre mim</a></li>
                <li><a href="blog.html">Blog</a></li>
                <li><a href="contato.html">Contato</a></li>
            </ul>
        </nav>
        <ul class="icones-redes-sociais">
            <li>
                <a href="https://github.com/joaodasilva" class="github" data-legenda="veja meus projetos opensource">
                    Github
                </a>
            </li>
            <li>
                <a href="https://twitter.com/joaodasilva" class="twitter" data-legenda="confira os meus tweets">
                    Twitter
                </a>
            </li>
            <li>
                <a href="https://br.linkedin.com/pub/joão-da-silva/32/4/508" class="linkedin" data-legenda="conheça meu histórico profissional">
                    LinkedIn
                </a>
            </li>
        </ul>
    </aside>
    <footer class="rodape-pagina">
        &copy; João da Silva 2014
    </footer>
</body>
</html>

legend,
label[for='mensagem'] {
    font-weight: bold;
    margin-top: 2em;
    display: inline-block;
}

label[for] {
    display: block;
}

input[type="text"],
input[type="email"],
textarea {
    font-family: inherit;
    font-size: 100%;
    width: 100%;
    border: 1px solid #ccc;
    padding: .25em .5em;
    box-sizing: border-box;
}

fieldset > fieldset {
    display: inline;
}

label[for="outro"] {
    display: inline;
}

input:focus,
textarea:focus {
    background-color: #FFD;
}

input:invalid {
    box-shadow: 0 0 3px red;
}

button {
    border: 0;
    font-family: "Open Sans Condensed", "Arial", sans-serif;
    background-color: #3C1D3D;
    color: #F2FFFC;
    font-size: 120%;
    margin-left: auto;
    margin-top: 1em;
    padding: .5em 1em;
    display: block;
}

button:hover,
button:focus {
    background-color: #8C1D3D;
}
1 resposta

Fala Roberto, tiudo bom?

1- Você poderia tentar colocar o margin-top no fieldset

2- Sempre que for colocar uma propriedade CSS antes tenta fazer o teste via o DevTools e vai mudando o valor de forma visual pelo browser até você acostumar com o comportamneto de cada uma :)