---
id: 5d822fd413a79914d39e98cc
title: ステップ 4
challengeType: 0
dashedName: step-4
---

# --description--

`head` 内に、`charset` として `UTF-8` を指定する `meta` 要素と、`City Skyline` というタイトルを持つ `title` 要素と、`styles.css` ファイルにリンクする `link` 要素をネストしてください。

# --hints--

`head` 要素の中に新しい `meta` 要素を作成する必要があります。

```js
assert.exists(document.querySelector('head > meta'));
```

`meta` タグに、値が `UTF-8` に設定されている `charset` 属性を加える必要があります。

```js
assert.equal(document.querySelector('head > meta')?.getAttribute('charset')?.toLowerCase(), 'utf-8');
```

コードには `title` 要素が 1 つ必要です。

```js
const title = document.querySelector('title');
assert.exists(title);
```

`title` 要素は `head` 要素内にある必要があります。

```js
assert.exists(document.querySelector('head > title'));
```

プロジェクトには `City Skyline` というタイトルが必要です。

```js
const title = document.querySelector('title');
assert.equal(title.text.toLowerCase(), 'city skyline')
```

タイトルについて、大文字小文字の区別とスペルに気をつけましょう。

```js
const title = document.querySelector('title');
assert.equal(title.text, 'City Skyline');
```

コードには `link` 要素が 1 つ必要です。

```js
assert.match(code, /<link/)
```

既存の `head` タグを変更しないようにしてください。 終了タグを削除していないか確認してください。

```js
const heads = document.querySelectorAll('head');
assert.equal(heads?.length, 1);
```

自己終了要素 `link` が 1 つ必要です。

```js
assert(document.querySelectorAll('link').length === 1);
```

`link` 要素は `head` 要素の中にある必要があります。

```js
assert.exists(document.querySelector('head > link'));
```

`link` 要素には `rel` 属性があり、値が `stylesheet` に設定されている必要があります。

```js
const link_element = document.querySelector('link');
const rel = link_element.getAttribute("rel");
assert.equal(rel, "stylesheet");
```

`link` 要素には `href` 属性があり、値が `styles.css` に設定されている必要があります。

```js
const link = document.querySelector('link');
assert.equal(link.dataset.href, "styles.css");
```

# --seed--

## --seed-contents--

```html
<!DOCTYPE html>
<html lang="en">
--fcc-editable-region--
  <head>

  </head>
--fcc-editable-region--
  <body>
  </body>
</html>
```
