* feat(tools): add seed/solution restore script * chore(curriculum): remove empty sections' markers * chore(curriculum): add seed + solution to Chinese * chore: remove old formatter * fix: update getChallenges parse translated challenges separately, without reference to the source * chore(curriculum): add dashedName to English * chore(curriculum): add dashedName to Chinese * refactor: remove unused challenge property 'name' * fix: relax dashedName requirement * fix: stray tag Remove stray `pre` tag from challenge file. Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
213 lines
4.5 KiB
Markdown
213 lines
4.5 KiB
Markdown
---
|
||
id: 587d78ac367417b2b2512af5
|
||
title: 使用 flex-direction 在嵌入推文中创建一列
|
||
challengeType: 0
|
||
videoUrl: 'https://scrimba.com/p/pVaDAv/cnzdVC9'
|
||
forumTopicId: 301103
|
||
dashedName: apply-the-flex-direction-property-to-create-a-column-in-the-tweet-embed
|
||
---
|
||
|
||
# --description--
|
||
|
||
在之前的挑战中,我们把嵌入推文的 `header` 和 `footer` 的 `flex-direction` 属性值设为 row(行)。相似地,把 `.profile-name` 选择器中的元素竖着排列会好看一点。
|
||
|
||
# --instructions--
|
||
|
||
请给 header 的 `.profile-name` 元素添加 CSS 属性 `flex-direction`,并将其值设为 column。
|
||
|
||
# --hints--
|
||
|
||
`.profile-name` 所选择的元素应有 `flex-direction` 属性,且其属性值应为 column。
|
||
|
||
```js
|
||
assert($('.profile-name').css('flex-direction') == 'column');
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```html
|
||
<style>
|
||
body {
|
||
font-family: Arial, sans-serif;
|
||
}
|
||
header, footer {
|
||
display: flex;
|
||
flex-direction: row;
|
||
}
|
||
header .profile-thumbnail {
|
||
width: 50px;
|
||
height: 50px;
|
||
border-radius: 4px;
|
||
}
|
||
header .profile-name {
|
||
display: flex;
|
||
|
||
margin-left: 10px;
|
||
}
|
||
header .follow-btn {
|
||
display: flex;
|
||
margin: 0 0 0 auto;
|
||
}
|
||
header .follow-btn button {
|
||
border: 0;
|
||
border-radius: 3px;
|
||
padding: 5px;
|
||
}
|
||
header h3, header h4 {
|
||
display: flex;
|
||
margin: 0;
|
||
}
|
||
#inner p {
|
||
margin-bottom: 10px;
|
||
font-size: 20px;
|
||
}
|
||
#inner hr {
|
||
margin: 20px 0;
|
||
border-style: solid;
|
||
opacity: 0.1;
|
||
}
|
||
footer .stats {
|
||
display: flex;
|
||
font-size: 15px;
|
||
}
|
||
footer .stats strong {
|
||
font-size: 18px;
|
||
}
|
||
footer .stats .likes {
|
||
margin-left: 10px;
|
||
}
|
||
footer .cta {
|
||
margin-left: auto;
|
||
}
|
||
footer .cta button {
|
||
border: 0;
|
||
background: transparent;
|
||
}
|
||
</style>
|
||
<header>
|
||
<img src="https://freecodecamp.s3.amazonaws.com/quincy-twitter-photo.jpg" alt="Quincy Larson's profile picture" class="profile-thumbnail">
|
||
<div class="profile-name">
|
||
<h3>Quincy Larson</h3>
|
||
<h4>@ossia</h4>
|
||
</div>
|
||
<div class="follow-btn">
|
||
<button>Follow</button>
|
||
</div>
|
||
</header>
|
||
<div id="inner">
|
||
<p>I meet so many people who are in search of that one trick that will help them work smart. Even if you work smart, you still have to work hard.</p>
|
||
<span class="date">1:32 PM - 12 Jan 2018</span>
|
||
<hr>
|
||
</div>
|
||
<footer>
|
||
<div class="stats">
|
||
<div class="Retweets">
|
||
<strong>107</strong> Retweets
|
||
</div>
|
||
<div class="likes">
|
||
<strong>431</strong> Likes
|
||
</div>
|
||
</div>
|
||
<div class="cta">
|
||
<button class="share-btn">Share</button>
|
||
<button class="retweet-btn">Retweet</button>
|
||
<button class="like-btn">Like</button>
|
||
</div>
|
||
</footer>
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```html
|
||
<style>
|
||
body {
|
||
font-family: Arial, sans-serif;
|
||
}
|
||
header, footer {
|
||
display: flex;
|
||
flex-direction: row;
|
||
}
|
||
header .profile-thumbnail {
|
||
width: 50px;
|
||
height: 50px;
|
||
border-radius: 4px;
|
||
}
|
||
header .profile-name {
|
||
display: flex;
|
||
flex-direction: column;
|
||
margin-left: 10px;
|
||
}
|
||
header .follow-btn {
|
||
display: flex;
|
||
margin: 0 0 0 auto;
|
||
}
|
||
header .follow-btn button {
|
||
border: 0;
|
||
border-radius: 3px;
|
||
padding: 5px;
|
||
}
|
||
header h3, header h4 {
|
||
display: flex;
|
||
margin: 0;
|
||
}
|
||
#inner p {
|
||
margin-bottom: 10px;
|
||
font-size: 20px;
|
||
}
|
||
#inner hr {
|
||
margin: 20px 0;
|
||
border-style: solid;
|
||
opacity: 0.1;
|
||
}
|
||
footer .stats {
|
||
display: flex;
|
||
font-size: 15px;
|
||
}
|
||
footer .stats strong {
|
||
font-size: 18px;
|
||
}
|
||
footer .stats .likes {
|
||
margin-left: 10px;
|
||
}
|
||
footer .cta {
|
||
margin-left: auto;
|
||
}
|
||
footer .cta button {
|
||
border: 0;
|
||
background: transparent;
|
||
}
|
||
</style>
|
||
<header>
|
||
<img src="https://freecodecamp.s3.amazonaws.com/quincy-twitter-photo.jpg" alt="Quincy Larson's profile picture" class="profile-thumbnail">
|
||
<div class="profile-name">
|
||
<h3>Quincy Larson</h3>
|
||
<h4>@ossia</h4>
|
||
</div>
|
||
<div class="follow-btn">
|
||
<button>Follow</button>
|
||
</div>
|
||
</header>
|
||
<div id="inner">
|
||
<p>I meet so many people who are in search of that one trick that will help them work smart. Even if you work smart, you still have to work hard.</p>
|
||
<span class="date">1:32 PM - 12 Jan 2018</span>
|
||
<hr>
|
||
</div>
|
||
<footer>
|
||
<div class="stats">
|
||
<div class="Retweets">
|
||
<strong>107</strong> Retweets
|
||
</div>
|
||
<div class="likes">
|
||
<strong>431</strong> Likes
|
||
</div>
|
||
</div>
|
||
<div class="cta">
|
||
<button class="share-btn">Share</button>
|
||
<button class="retweet-btn">Retweet</button>
|
||
<button class="like-btn">Like</button>
|
||
</div>
|
||
</footer>
|
||
```
|