Instruções
Construir uma Página de Carrinho de Compras de Música
Objetivo: Cumprir as user stories abaixo e fazer todos os testes passarem para completar o laboratório.
Histórias de Usuário:
1. Você deve ter um elemento com um
id chamado shopping-cart-container.
2. Seu elemento #shopping-cart-container deve usar a classe utilitária correta para definir o elemento como um layout Flexbox.
3. Seu elemento #shopping-cart-container deve definir a direção dos itens flex para coluna em dispositivos menores e linha em dispositivos maiores. Lembre-se de que o Tailwind CSS utiliza a abordagem mobile first e você usará o prefixo de breakpoint lg: para direcionar dispositivos maiores.
4. Dentro do seu elemento #shopping-cart-container, você deve ter um elemento com um id chamado products-container.
5. Seu elemento #products-container deve ter pelo menos dois elementos filhos, cada um com uma classe chamada card.
6. Cada elemento .card deve conter os seguintes elementos aninhados:
- Um elemento
h2com texto representando o nome do produto e uma classe utilitária que define o tamanho da fonte usando apenas classes de tamanho predefinidas comotext-sm,text-md,text-lg,text-xl,text-2xl, etc. - Um elemento com uma classe chamada
quantitye texto para o número de itens do carrinho para esse produto. - Um elemento com uma classe chamada
pricee texto para o preço. - Um
buttoncom uma classe chamadaremove-buttone textoRemove. Seubuttondeve ter classes utilitárias para uma cor de fundo vermelha pré-definida de sua escolha e uma cor de fundo vermelha pré-definida diferente para o estado de hover. Exemplos de cores de fundo vermelhas pré-definidas incluembg-red-500,bg-red-600, etc. Exemplos de cores de fundo vermelhas de hover pré-definidas incluemhover:bg-red-500,hover:bg-red-600, etc.
#shopping-cart-container, você deve ter um elemento com um id chamado order-summary-container.
8. Seu elemento #order-summary-container deve ter os seguintes estilos:
- Uma classe utilitária de sua escolha para cantos arredondados predefinidos. Exemplos incluem
rounded,rounded-lg,rounded-full, etc. - Uma classe utilitária de sua escolha para definir a largura da borda em todos os lados.
#order-summary-container deve conter os seguintes elementos aninhados:
- Um elemento
h2com o textoOrder Summarye uma classe utilitária de sua escolha que define o tamanho da fonte. - Um elemento com o texto
Total:eiddefinido comototal. Este elemento também deve usar classes utilitárias para definir o peso da fonte para um peso de fonte Tailwind CSS predefinido e o tamanho da fonte de sua escolha para o elemento. - Um elemento com um
iddefinido comototal-amountpara exibir o total de todos os itens no carrinho. - Um link com o texto
Checkoute a classe utilitária correta para centralizar o texto. O valor dehrefdeve ser definido como#. Seu link também deve ter uma classe utilitária para definir a cor de fundo para uma cor azul predefinida do Tailwind CSS de sua escolha e uma cor de fundo azul diferente para o estado de hover.
O que fazer:
Testes:
- Você deve ter um elemento com um `id` definido como `shopping-cart-container`.
- Seu elemento `#shopping-cart-container` deve usar a classe utilitária `flex` para definir o elemento como um layout Flexbox.
- Seu elemento `#shopping-cart-container` deve usar a classe utilitária correta para definir a direção dos itens flexíveis como coluna.
- Seu elemento `#shopping-cart-container` deve usar o prefixo de breakpoint `lg:` seguido pela classe utilitária correta para definir a direção dos itens flexíveis como row em dispositivos maiores.
- Você deve ter um elemento com um `id` definido como `products-container` dentro do seu elemento `#shopping-cart-container`.
- Seu elemento `#products-container` deve ter pelo menos dois elementos filhos, cada um com uma classe chamada `card`.
- Cada elemento `.card` deve conter um elemento `h2` com o texto que representa o nome do produto.
- Cada elemento `h2` dentro do elemento `.card` deve usar uma classe utilitária que define o tamanho da fonte usando apenas classes de tamanho predefinidas, como `text-sm`, `text-base`, `text-lg`, `text-xl`, `text-2xl`, etc.
- Cada elemento `.card` deve conter um elemento com uma classe chamada `quantity`.
- Cada elemento `.quantity` deve conter um texto que represente o número de itens no carrinho para esse produto.
- Cada elemento `.card` deve conter um elemento com uma classe chamada `price`.
- Cada elemento `.price` deve conter texto que represente o preço.
- Cada elemento `.card` deve conter um elemento `button` com uma classe chamada `remove-button` e o texto `Remover`.
- Cada elemento `button` deve ter uma classe utilitária para uma cor de fundo vermelha de sua escolha.
- Cada elemento `button` deve ter uma cor de fundo vermelha diferente para o estado de hover.
- Você deve ter um elemento com um `id` chamado `order-summary-container` dentro do seu elemento `#shopping-cart-container`.
- Seu elemento `#order-summary-container` deve ter uma classe utilitária de sua escolha para definir os cantos arredondados.
- Seu elemento `#order-summary-container` deve ter uma classe utilitária de sua escolha para definir a largura da borda em todos os lados.
- Seu elemento `#order-summary-container` deve conter um elemento `h2` com o texto `Resumo do Pedido`.
- Seu `h2` dentro do elemento `#order-summary-container` deve usar uma classe utilitária de sua escolha que defina o tamanho da fonte.
- Seu elemento `#order-summary-container` deve conter um elemento com o texto `Total:` e `id` definido como `total`.
- Seu elemento `#total` deve usar uma classe utilitária para definir o peso da fonte.
- Seu elemento `#total` deve usar uma classe utilitária para definir o tamanho da fonte.
- Seu elemento `#order-summary-container` deve conter um elemento com o `id` definido como `total-amount` para exibir o total de todos os itens no carrinho.
- Seu elemento `#order-summary-container` deve conter um link com o texto `Checkout` e um `#` como valor do `href`.
- Seu link `Checkout` deve ter uma classe utilitária para centralizar o texto.
- Seu link `Checkout` deve ter uma classe utilitária para definir a cor de fundo para uma cor azul pré-definida do Tailwind CSS de sua escolha.
- Seu link `Checkout` deve ter uma cor de fundo azul diferente para o estado de hover.
Preview