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

Botão "Veja mais" - Blog

Boa noite!

Ao aplicar o "hover" nos links da index na sessão "blog", percebi que o botão também foi afetado. Baixei o projeto completo na ultima aula para confirmar, e ainda permanece dessa forma (background branco do botão quando passamos com o mouse por cima).

Voltei nas aulas de seletores pra ver se poderia fazer algo para APENAS o botão não ser afetado com esse "hover" aplicado nos links do blog, mas não consegui achar nenhum. Existe uma forma de fazermos com que apenas o botão não seja afetado por esse hover? Deixar ele igual aos demais botões da pagina.

Talvez minha explicação tenha ficado um pouco confusa, mas ao baixar o projeto vão conseguir entender certinho o que estou querendo dizer.

Agradeço desde já!

4 respostas

André não sei como esta a estrutura do seu código ou do curso pois ja faz muito tempo que o fiz, para fazer esse tipo de efeito existe N maneiras vamos la.

Caso os links da index sejam a e os botões sejam button você pode estar especificando o elementos:

a:hover {
    ....
}

button:hover {
    ...
}

Também pode ser feito via classes HTML:

<a class="link">Link</a>
<button class="button">Button</button>

.link:hover {
    ...
}
.button:hover {
    ....
}

Fora isso também podemos fazer por alinhamentos de elementos:

<div>
    <a>Link</a>
</div>
<section>
    <a>Link</a>
</section>

div a:hover {
    ...
}
section a:hover {
    ...
}

Como eu disse tem N maneiras de se fazer isso, cabe a você decidir qual delas utilizar e qual se encaixa melhor no seu contexto.

Espero ter ajudado

Vou postar o código aqui. Por que apenas o último botão da pagina agiu dessa forma, o botão que enta dentro da section "blog":

    <main>
        <section class="saudacoes">
            <p><span class="saudacoes-texto1">Olá,</span> meu nome é <strong>João da Silva</strong> <span class="saudacoes-texto2">e eu construo <em>sites maravilhosos</em></span></p>
            <a href="bio.html" class="botao-index">Conheça mais um pouco sobre mim</a>
        </section>
        <section class="trabalhos">
            <h2>Trabalhos</h2>
            <ul>
                <li><img src="img/bmw.png" alt="Site BMW"></li>
                <li><img src="img/ibm.png" alt="Site IBM"></li>
                <li><img src="img/uol.png" alt="Site UOL"></li>
            </ul>
            <a href="portifolio.html" class="botao-index">Veja mais</a>
        </section>
        <section class="blog">
            <h2>Blog</h2>
            <small>Últimos posts</small>
            <ul class="ultimos-posts">
                <li>
                    <a href="blog.html">O essencial de design responsivo</a>
                    <p class="inicio-post">
                        Design responsivo tem ganho cada vez mais atenção como técnica de desenvolvimento de páginas web para dispositivos móveis. Mas como começar?
                    </p>
                </li>
                <li>
                    <a href="blog.html" class="post2">Por que fazer páginas acessíveis?</a>
                    <p class="inicio-post2">
                        Tem se falado cada vez sobre acessibilidade na web. Há diversas técnicas e diretivas a serem seguidas, inclusive da própria W3C. Mas vale a pena investir nisso?
                    </p>
                </li>
                <li>
                    <a href="blog.html" class="post3">JavaScript não obstrusivo</a>
                    <p class="inicio-post3">
                        JavaScript é uma linguagem essencial hoje em dia para criar páginas ricas, interativas e dinâmicas. Porém, há alguns cuidados que devem ser tomados ao colocarmos código JavaScript em nossas páginas.
                    </p>
                </li>
            </ul>
            <a href="blog.html" class="botao-index">Veja mais</a>
        </section>
main {
    width: 100%;
    padding: 0;
    float: none;
}
.botao-index {
    background-color: #851944;
    color: #FFF;
    width: 40ch;
    display: block;
    text-align: center;
    margin: 2em auto;
    padding: .5em;
    font-size: 1.25em;
    border: .2em solid black;
    box-shadow: 0 0 1em #000, inset 0 0 .5em #FFF;
}
.trabalhos {
    background-color: #3C1D3D;
    background-image:   linear-gradient(135deg,
                        transparent,
                        transparent 14px,
                        rgba(0,0,0,0.1) 14px,
                        rgba(0,0,0,0.1) 15px,
                        transparent 15px,
                        transparent);
    background-size: 20px 20px;
    background-attachment: fixed;
    padding-bottom: 2em;
    border-bottom: .5em solid black;

}
.trabalhos h2 {
    color: #FFF;
    text-transform: uppercase;
    padding: .7em;
    font-size: 3em;
}
.trabalhos ul {
    overflow: hidden;
    border: .5em solid black;
    margin: 0 2em;
}
.trabalhos li {
    float: left;
    width: 33.33%;
}
.trabalhos img {
    width: 100%;
    display: block;

}
.blog h2 {
    text-transform: uppercase;
    color: #FFF;
    padding: .7em;
    font-size: 3em;
}
.blog {
    background-color: #999;
    background-image:   linear-gradient(45deg,
                        transparent,
                        transparent 14px,
                        rgba(255, 255, 255, 0.1) 14px,
                        rgba(255, 255, 255, 0.1) 15px,
                        transparent 15px,
                        transparent);
    background-size: 20px 20px;
    background-attachment: fixed;
    color: #FFF;
    border-bottom: .5em solid #851944;
    position: relative;

}
.blog a:hover + .inicio-post,
.blog a:focus + .inicio-post {
    display: block;
}
.blog a:hover {
    background-color: #F2FFFC;
    color: #F26;
}
.post2:hover + .inicio-post2 {
    display: block;
}
.post3:hover + .inicio-post3 {
    display: block;
}
.blog small {
    position: relative;
    top: -2.5em;
    padding: 2.2em;
}
.blog li a{
    padding: .5em;
    display: block;
    margin-left: 2em;
    color: #FCF;
}
.ultimos-posts{
    width: 30%;
}
.inicio-post {
    position: absolute;
    top: 6em;
    left: 20em;
    height: 6em;
    padding: 1em;
    background-color: #FFF;
    color: black;
    display: none;
}
.inicio-post2 {
    position: absolute;
    width: 100ch;
    top: 8em;
    left: 20em;
    height: 6em;
    padding: 1em;
    background-color: #FFF;
    color: black;
    display: none;
}
.inicio-post3 {
    position: absolute;
    width: 100ch;
    top: 10em;
    left: 20em;
    height: 6em;
    padding: 1em;
    background-color: #FFF;
    color: black;
    display: none;
}
solução!

Eu consegui fazer isso deixando o hover do blog nos "li" ao invés do "a". Teria algum problema nisso?

.blog li:hover {
    background-color: #F2FFFC;
    color: #F26;
}

Dessa forma não afeta o botão da section "blog"

Sei que o tópico já está solucionado, mas estava fazendo o mesmo exercício agora e tive o mesmo problema e no início tinha feito igual a você fez .blog li:hover { background-color: #F2FFFC; color: #F26; }, colocando o hover no li, mas o problema é que ao aplicar ohover noli os links não mudam de cor ao passar o mouse, nesse caso ocorre só efeito de mudar os textos. Seria melhor você fazer: .blog li a:hover porque assim os links ficariam em vermelho também ao passar o mouse. Foi o que fiz no meu projeto