* fix: general bugs - Ensure editable region at end of code-block is followed by a blank line. - Remove apparent duplicate step. - Address spelling issues. * feat: some tests * feat: tests 6-20 Add tests for steps 6-20. * feat: tests 21-30 Add tests for steps 21 through 30. * feat: tests 31-40 Add tests for steps 31 through 40. * feat: tests 41-50 Add tests for steps 41 through 50. * feat: tests 51-60 Add tests for steps 51 through 60. * feat: tests 61-70 Add tests for steps 61 through 70. * feat: tests 71-80 Add tests for steps 71 through 80. * feat: steps 81-92 Add tests for steps 81 through 92. * feat: align dashed names Align the dashed names with the titles and file names. * fix: apply gikf's suggestions Co-authored-by: gikf <60067306+gikf@users.noreply.github.com> * fix: manual review suggestions Apply gikf's other suggestions. * feat: more thorough testing When a test asserts that a camper adds a new element relative to an existing element, also test that the existing element is not malformed. * feat: optional semi colons Make EOL semi-colons optional in the CSS. If they're missing and the CSS doesn't render correctly, other tests will catch that. If they are on the last property of the ruleset, they technically aren't required so we shouldn't require them? * chore: apply review suggestions Apply review suggestions from gikf Co-authored-by: gikf <60067306+gikf@users.noreply.github.com> * chore: apply suggestions from code review Co-authored-by: gikf <60067306+gikf@users.noreply.github.com> * feat: review suggestions Apply Ahmad's review suggestions. * chore: additional suggestions Manual application of Ahmad's review suggestions. Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com> * chore: apply suggestions from code review Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com> * chore: apply shaun's review suggestions Co-authored-by: Shaun Hamilton <51722130+ShaunSHamilton@users.noreply.github.com> * feat: add clarification Add a bit of text clarifying the file switch in the editor. * chore: replace URLs Replace the tinyurls with our self-hosted CDN images. * feat: new CSS tests Re-write CSS tests with new parser. * fix: grammar Apply Shaun's grammar reviews. Co-authored-by: Shaun Hamilton <51722130+ShaunSHamilton@users.noreply.github.com> * fix: optional chaining * chore: apply suggestions from code review Co-authored-by: Shaun Hamilton <shauhami020@gmail.com> * chore: apply reviews manually * chore: getStyle update Replace getStyleDeclaration with getStyle. * fix: resolve test issue * chore: remove jQuery :( Co-authored-by: Shaun Hamilton <shauhami020@gmail.com> * chore: apply suggestions from code review Co-authored-by: Shaun Hamilton <shauhami020@gmail.com> * fiux: Update curriculum/challenges/english/01-responsive-web-design/basic-css-cafe-menu/part-073.md Co-authored-by: Tom <20648924+moT01@users.noreply.github.com> Co-authored-by: gikf <60067306+gikf@users.noreply.github.com> Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com> Co-authored-by: Shaun Hamilton <51722130+ShaunSHamilton@users.noreply.github.com> Co-authored-by: Shaun Hamilton <shauhami020@gmail.com> Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
4.8 KiB
4.8 KiB
id, title, challengeType, dashedName
id | title | challengeType | dashedName |
---|---|---|---|
5f475bb508746c16c9431d42 | Part 90 | 0 | part-90 |
--description--
The image you added is not centered horizontally like the Coffee
heading above it. img
elements are "like" inline elements.
To make the image behave like heading elements (which are block-level), create an img
type selector and use the value block
for the display
property and use the applicable margin-left
and margin-right
values to center it horizontally.
--hints--
You should use an img
selector.
const hasImg = new __helpers.CSSHelp(document).getStyle('img');
assert(hasImg);
You should set the display
property to block
.
const hasDisplay = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style.display === 'block');
assert(hasDisplay);
You should set the margin-left
property to auto
.
const marginLeftFilter = new __helpers.CSSHelp(document).getCSSRules().filter(x => x.style['margin-left'] === 'auto');
assert(marginLeftFilter.length === 2);
You should set the margin-right
property to auto
.
const marginRightFilter = new __helpers.CSSHelp(document).getCSSRules().filter(x => x.style['margin-right'] === 'auto');
assert(marginRightFilter.length === 2);
Your img
element should have a display
of block
.
const imgDisplay = new __helpers.CSSHelp(document).getStyle('img')?.getPropertyValue('display');
assert(imgDisplay === 'block');
Your img
element should have a margin-left
and margin-right
of auto
.
const imgMarginLeft = new __helpers.CSSHelp(document).getStyle('img')?.getPropertyValue('margin-left');
assert(imgMarginLeft === 'auto');
const imgMarginRight = new __helpers.CSSHelp(document).getStyle('img')?.getPropertyValue('margin-right');
assert(imgMarginRight === 'auto');
--seed--
--seed-contents--
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Camper Cafe Menu</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="menu">
<header>
<h1>CAMPER CAFE</h1>
<p class="established">Est. 2020</p>
</header>
<hr>
<main>
<section>
<h2>Coffee</h2>
<img src="https://cdn.freecodecamp.org/curriculum/css-cafe/coffee.jpg" alt="coffee icon"/>
<article class="item">
<p class="flavor">French Vanilla</p><p class="price">3.00</p>
</article>
<article class="item">
<p class="flavor">Caramel Macchiato</p><p class="price">3.75</p>
</article>
<article class="item">
<p class="flavor">Pumpkin Spice</p><p class="price">3.50</p>
</article>
<article class="item">
<p class="flavor">Hazelnut</p><p class="price">4.00</p>
</article>
<article class="item">
<p class="flavor">Mocha</p><p class="price">4.50</p>
</article>
</section>
<section>
<h2>Desserts</h2>
<article class="item">
<p class="dessert">Donut</p><p class="price">1.50</p>
</article>
<article class="item">
<p class="dessert">Cherry Pie</p><p class="price">2.75</p>
</article>
<article class="item">
<p class="dessert">Cheesecake</p><p class="price">3.00</p>
</article>
<article class="item">
<p class="dessert">Cinammon Roll</p><p class="price">2.50</p>
</article>
</section>
</main>
<hr class="bottom-line">
<footer>
<p>
<a href="https://www.freecodecamp.org" target="_blank">Visit our website</a>
</p>
<p class="address">123 Free Code Camp Drive</p>
</footer>
</div>
</body>
<html>
body {
background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg);
font-family: sans-serif;
padding: 20px;
}
h1 {
font-size: 40px;
margin-top: 0;
margin-bottom: 15px;
}
h2 {
font-size: 30px;
}
.established {
font-style: italic;
}
h1, h2, p {
text-align: center;
}
.menu {
width: 80%;
background-color: burlywood;
margin-left: auto;
margin-right: auto;
padding: 20px;
max-width: 500px;
}
--fcc-editable-region--
--fcc-editable-region--
hr {
height: 2px;
background-color: brown;
border-color: brown;
}
.bottom-line {
margin-top: 25px;
}
h1, h2 {
font-family: Impact, serif;
}
.item p {
display: inline-block;
margin-top: 5px;
margin-bottom: 5px;
font-size: 18px;
}
.flavor, .dessert {
text-align: left;
width: 75%;
}
.price {
text-align: right;
width: 25%
}
/* FOOTER */
footer {
font-size: 14px;
}
.address {
margin-bottom: 5px;
}
a {
color: black;
}
a:visited {
color: black;
}
a:hover {
color: brown;
}
a:active {
color: brown;
}