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

Imagem dentro de flexbox

Levando em consideração o html e o css a seguir, eu não entendi porque se, no css, eu tirar a propriedade

.portfolio img {
    width: 100%;
}

as imagens extrapolam seu contêiner para a direita

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Portfolio - 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/portfolio.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">Portfolio</h1>
        <div class="container">
            <p>Veja abaixo a lista dos meus projetos mais relevantes</p>
            <ol class="portfolio">
                <li class="aaa" ><a href="http://bmw.com">
                        <figure>
                            <img src="imagens/bmw.png" alt="Site da BMW">
                            <figcaption>BMW.com: reformulação de design e implementação de HTML, CSS e JavaScript</figcaption>
                        </figure>
                </a></li>
                <li><a href="http://uol.com.br">
                        <figure>
                            <img src="imagens/uol.png" alt="Front-page da UOL">
                            <figcaption>UOL.com.br: reformulação de design e implementação de HTML, CSS e JavaScript</figcaption>
                        </figure>
                </a></li>
                <li><a href="http://www.ibm.com.br">
                        <figure>
                            <img src="imagens/ibm.png" alt="Site da IBM">
                            <figcaption>IBM.com: aplicação de progressive enhancement em conjunto com aplicação back-end</figcaption>
                        </figure>
                </a></li>
                <li><a href="http://g1.com.br">
                        <figure>
                            <img src="imagens/g1.png" alt="Front-page do portal G1">
                            <figcaption>G1.com.br: reformulação de design e implementação de HTML, CSS e JavaScript</figcaption>
                        </figure>
                </a></li>
                <li><a href="http://terra.com.br">
                        <figure>
                            <img src="imagens/terra.png" alt="Site da Terra">
                            <figcaption>terra.com.br: implementação de design responsivo</figcaption>
                        </figure>
                </a></li>
            </ol>
        </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-tooltip="Veja meus projetos opensource">
                    Github
                </a>
            </li>
            <li>
                <a href="https://twitter.com/joaodasilva" class="twitter" data-tooltip="Siga-me no Twitter">
                    Twitter
                </a>
            </li>
            <li>
                <a href="https://br.linkedin.com/pub/joão-da-silva/32/4/508" class="linkedin" data-tooltip="Veja meu currículo">
                    LinkedIn
                </a>
            </li>
        </ul>
    </aside>
    <footer class="rodape-pagina">
        &copy; João da Silva 2014
    </footer>
</body>
</html>
.portfolio {
    display: flex;
    flex-wrap: wrap;
}

.portfolio li {
  /* não precisamos mais do display: inline-block aqui */
    flex: 1 1 45%;
    border: .5em solid black;
    background-color: #FAFFFC;
    width: 45%;
    box-sizing: border-box;
    padding: 1em;
    margin-right: 1em;
    margin-bottom: 1em;
}

.portfolio img {
    width: 100%;
    box-shadow: 0 0 4px #000;
}

.portfolio li:first-child {
    flex-basis: 100%;
}
2 respostas

Complementando, eu esperava que ao usar a propriedade overflow: hidden, o problema seria resolvido, mas não foi

solução!

Alexandre, as imagens se tem 100% no tamanho, tem no máximo a largura do elemento pai.

Com relação ao overflow:hidden, o mesmo deve ser aplicado no elemento pai, para que tenha o efeito de não permitir que a imagem extrapole a área de conteudo, porém a mesma não será reajustada de acordo com a largura e sim cortada.