Considere o seguinte trecho de código de uma página web:<...
Considere o seguinte trecho de código de uma página web:
<div id="opcoes" class="vert">
<div class="item">Contratos</div>
<div class="item">Convênios</div>
<div class="item">Licitações</div>
</div>
E o respectivo código de Cascading Style Sheets:
.vert {
display: flex;
width: max-content;
}
.item {
flex: auto;
width: 110px;
}
Ao ser renderizado por um navegador web padrão, o elemento
com id “opcoes” do código acima exibe três elementos div:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A - dispostos em linha, com largura total igual a 330px.
Para solucionar essa questão, é necessário compreender os conceitos de CSS (Cascading Style Sheets) e a forma como eles afetam o layout de uma página web. O enunciado nos apresenta um trecho de código HTML com um elemento div
contendo três div
filhos, cada um com a classe "item". Além disso, nos é fornecido o CSS aplicado a esses elementos.
O elemento com id "opcoes" tem a classe "vert" atribuída a ele, que tem as seguintes propriedades no CSS:
display: flex;
- Isso define um contexto de layout flexível para seus itens filhos, que por padrão os alinha em linha (horizontalmente).width: max-content;
- A largura do contêiner será a máxima possível contendo todo o conteúdo dos filhos sem quebrar as linhas.
Já os elementos com classe "item" têm as seguintes propriedades:
flex: auto;
- Os itens filhos têm a capacidade de crescer e encolher, mas neste caso, isso é irrelevante pois a largura foi fixada.width: 110px;
- Cada item filho terá uma largura fixa de 110 pixels.
Ao analisarmos as propriedades aplicadas, podemos concluir que:
- Os elementos filhos estarão dispostos em uma linha devido ao
display: flex;
sem a propriedadeflex-direction
que alteraria para coluna. - Como cada item filho tem uma largura de 110px e são três itens, a largura total será de 3 x 110px = 330px.
Portanto, os elementos div filhos serão dispostos em linha, e a largura total do contêiner será a soma das larguras dos itens filhos, resultando em uma largura de 330px, exatamente como afirma a alternativa A.
Lembre-se: o CSS é uma ferramenta poderosa para controle de layout e apresentação em páginas web e entender suas propriedades é fundamental para criar designs responsivos e atraentes.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
O contêiner "opcoes" terá um layout flexível (display: flex;).
Os itens dentro do contêiner serão distribuídos igualmente, que no caso é horizontal, devido ao flex: auto;.
Cada item terá uma largura fixa de 110px (width: 110px;).
Dispostos em linha, com largura total igual a 330px
Exemplo de como ficaria.
......................................................................
: Contratos : Convênios : Licitações :
.......................................................................
Interpretei errado, em coluna onde cada coluna possui 110 de largura...sacanagem
flex: auto; faz com que cada item flexível cresça conforme necessário, mas neste caso, a largura de cada item é definida explicitamente.
width: 110px; define uma largura fixa de 110 pixels para cada item.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo