Html5 lv1 考试心得
1.1 Webの基礎知識
lang
|
|
XHTML
HTML5はXHTML書式を利用できます。 その際、html要素にはデフォルト名前空間としてxmlns属性で「http://www.w3.org/1999/xhtml」を指定する必要があります。 要素名や属性名は全て小文字で記述する必要があります。 属性の値は「"」や「'」で囲む必要があります。 xhtml要素という要素はいずれのXHTML仕様にも存在しません
meta要素
グローバル属性を除けば、meta要素に指定可能な属性は次の4つのみです。 ・http-equiv ・name ・content ・charset scheme属性は、HTML 4.01 や XHTML 1.0 では指定可能でしたが、HTML5以降では指定できなくなっています。
文字エンコーディングを設定するために有効な書式
cookie
- HTTP cookieによりステートフルなサービスを可能にする。
- HTTP cookieは通信時はHTTPヘッダに含まれる。
- HTTP cookieはクライアントに保存される。
- HTTP cookieのサイズは4KBである。
HTTP cookieに有効期限がないと削除しない限り残り続ける。
您可以为 cookie 设置一个过期日期,过期日期后,存储的 cookie 将失效。如果指定了失效日期,即使在失效日期内关闭浏览器也会保存,但如果未指定,则在浏览器关闭时将被删除。
クロスサイトスクリプティング(XSS)
跨站脚本(XSS)是利用目标网站的漏洞,设置脚本引导攻击者进入恶意站点,窃取访问该站点的用户个人信息的一种攻击。 之所以使用此名称,是因为它将访问受困网站的用户定向到易受攻击的网站(跨站点)并进行信息利用等攻击。
简而言之,它是一种“在用户访问网页时执行恶意脚本的漏洞或攻击技术”。
攻击者未经授权的登录(欺骗)
クロスサイト・スクリプティング(XSS: Cross Site Scripting)は掲示板など、ユーザーからの入力値を元に動的にWebページを表示するサイトに悪意のあるスクリプトを埋め込み、ユーザーの環境で実行させます。こうすることで、個人情報を搾取するフィッシングや、そのユーザーのふりをする「なりすまし」などを行います。 クロスサイト・スクリプティングへの対策は、悪意のあるスクリプトが表示、実行されないように出力値を適切にエスケープ処理(特別な意味を持つ文字列を一定のルールに従って別の文字列に置き換える)することです。
サニタイジング(エスケープ)処理をする
サニタイジング(エスケープ)処理とは、「<」や「“」といった区切りやタグなどの意味を持つ文字を、意味を持たない文字列に置き換え無害化する行為を指します。サニタイジング(エスケープ)処理をすることで、スクリプトが意図せずに挙動してしまうことを防ぐことができます。
解决方法:出力値を適切にエスケープ処理する
クロスサイトリクエストフォージェリ(CSRF)
跨站请求伪造 (CSRF) 是存在于 Web 应用程序中的漏洞或利用该漏洞的攻击方法。处理公告板和查询表单的 Web 应用程序接收并处理来自其他站点的应拒绝的请求。 攻击方式/特点 攻击者准备一个攻击网页并诱使用户访问它。 当用户访问攻击网页时,攻击网页中预先准备好的恶意请求被发送到攻击目标服务器。 攻击目标服务器上的Web应用程序处理恶意请求,并进行用户不希望的处理。
简而言之,“允许 Web 应用程序用户执行非预期处理的漏洞或攻击方法”
クロスサイト・リクエスト・フォージェリ(CSRF) 攻撃用サイトにアクセスしたユーザーの環境から攻撃者が用意したHTTPリクエストを送信させることによって、不正な操作を実行します。
解决方法:サーバ側で外部サイトからのリクエストを受け付けないようにする
SQLインジェクション解决方法:ユーザーの入力値を適切にエスケープ処理するか、プリペアードステートメントを使用する
HTTPヘッダ・インジェクション解决方法:改行として認識される特殊文字をエスケープ処理したり、改行が含まれていたら入力エラーとする
XSSとCSRFの違い
観点 | XSS | CSRF |
---|---|---|
脆弱性の存在箇所 | Webアプリ | |
実行契機 | 不正なURLへのアクセス | |
実行される場所 | Webブラウザ (Client) | Webアプリサーバ (Server) |
実行可能な処理 | 基本的に自由*1 | Webアプリで 定義された処理 |
実行の前提 | 特になし | Webアプリに ログイン済み*2 |
link 要素の rel 属性
画像
-
BMP(位图图像)是在 Windows 中创建的图像格式,不能在 Web 上使用。
-
JPEG(联合图像专家组)的特点是可以表现全色和精美表现层次。
-
-PNG(便携式网络图形)可以像 JPEG 一样表达全彩,但文件大小可能比 JPEG 大。与 JPEG 不同,背景可以是透明的。 -GIF(Graphics Interchange Format)可以使背景透明,可以做动画,但最多只能表达256种颜色。过去,透明 GIF 存在许可问题,因此开发了 PNG。 除了上述之外,还有一种格式叫做TIFF(Tagged Image File Format)。适用于高分辨率图像,但尺寸较大
画像ファイルの形式(フォーマット)には、主に次のようなものがあります。
セクショニング
-
セクショニング・ルートの要素は下記の6つです。
body, blockquote, details, fieldset, figure, td
HTML5での要素ごとのカテゴリーの1つである「セクショニング・コンテンツ」には、文書のセクションを表す要素が属します。 セクショニング・コンテンツの要素は下記の4つです。
article, aside, nav, section
fieldset
HTML の <fieldset>
要素は、ウェブフォーム内のラベル (``) などのようにいくつかのコントロールをグループ化するために使用します。
|
|
Other
HTML5の文書型宣言の基本形は、「<!DOCTYPE」+1個以上のスペース+「HTML」+0個以上のスペース+「>」です。アルファベットは大文字でも小文字でもかまいません。
!doctype html> <!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01//EN”
Data URIは、通常外部ファイルへのURIを記述する、imgタグのsrc属性やCSSのurl()に直接画像データなどを埋め込むための技術です。 Data URIはデータの場所を指すものではありませんので、B.の説明は間違っています。
SSL/TLSの規格として古い順:SSL 1.0,SSL 2.0,SSL 3.0,TLS 1.0,TLS 1.1,TLS 1.2
1.2 CSS
link要素
外部スタイルシートを読み込む際は次のように記述します。
rel属性の値が「stylesheet」の場合は、type属性はデフォルト値「text/css」が適用されるため省略できます。 rel=“値は下記の表を参照”: HTML文書とリンク先の関係 href=“URL”: リンク先のURL type=“MIMEタイプ”: リンク先のMIMEタイプ(ファイル形式を示す識別子) media=“メディアタイプ”: 適用するメディアの種類 hreflang=“言語コード”: リンク先の言語
また、rel属性は半角スペースで区切って複数の値を指定できます。
例) alternateとstylesheetを組み合わせて、代替スタイルシート(ユーザがページのスタイルを選択できる)を提供する
CSSのcolor
プロパティは文字の色を指定します。 これまでの分野で紹介してきた、色をキーワード(redやblueなどの英語名)で指定する方法の他にも、以下の指定方法があります。
・16進数 RGBを16進数で表します。RGBとは、赤(Red)、緑(Green)、青(Blue)の3つの原色を組合わせて多くの色を表現する方法です。 「#」の後にRGBの各値を2桁ずつの16進数に置き換え、6桁の16進数で表します。 例) 赤 -> #FF0000
RGBの各値の2桁がそれぞれ同じ値である場合は、3桁で表すこともできます。
例) 赤 -> #FF0000 -> #F00
下表は主な色の対応です。
セレクタ
CSS(Cascading Style Sheets: Webページの装飾やレイアウトを記述するための言語)の基本的な書式は以下のとおりです。
セレクタ{プロパティ名: プロパティ値;}
セレクタ(要素など、スタイルを適用する対象)を「,」(カンマ)で区切って複数指定すると、複数の異なるセレクタに同じスタイルを適用することができます。これを「グループ化」といいます。 その他にも「結合子」を使用してセレクタを組合せることで、より複雑にセレクタを指定できます。
CSSの結合子には、次の種類があります。
cssセレクタの書き方 | 左記例の意味 | |
---|---|---|
p , a { color: red; } | 「または」 | p要素とa要素を赤文字する |
p a { color: red; } | 「子」 | p要素内のa要素を赤文字する |
p > a { color: red; } | 「直下の子」 | p要素内の直下のa要素を赤文字する |
p + a { color: red; } | 「隣接」 | p要素と隣り合うa要素を赤文字する |
p ~ a { color: red; } | 「以降」 | p要素以降のa要素を赤文字する |
・属性セレクタ CSS3(2011年から策定が進んでいるCSSのバージョン)では次の書式が使用できます。
■[属性名] —この属性名が指定されている要素(属性値は考慮しない) 例) class属性を持つ全てのp要素の文字を赤色にする p[class]{color:red;}
■[属性名=“属性値”] —この属性名と属性値が指定されている要素(属性値が完全一致) 例) class属性の値が「foo」であるp要素の文字を赤色にする p[class=“foo”]{color:red;}
■[属性名~=“属性値”] —この属性名と属性値が指定されている要素(複数の属性値のうちの一つが一致すればよい) 例) class属性の値の1つが「foo」であるp要素の文字を赤色にする p[class~=“foo”]{color:red;}
■[属性名|=“属性値”] —この属性名と属性値が指定されている要素(属性値の1つ、または「-」(ハイフン)区切りの属性値の前半が一致、言語コード「ja-JP」など) 例) lang属性の値が「en」(英語)であるblockquote要素の文字を赤色にする blockquote[lang|=“en”]{color:red;}
■[属性名^=“属性値の始め”] —この属性名の属性値が「属性値の始め」で始まる要素 例) class属性の値が「foo」で始まるp要素の文字を赤色にする p[class^=“foo”]{color:red;}
■[属性名"属性値の終わり"] —この属性名の属性値が「属性値の終わり」で終わる要素 例) id属性の値が「2」で終わるp要素の文字を赤色にする p[id$=“2”]{color:red;}
■[属性名*=“属性値の一部”] —この属性名の属性値が「属性値の一部」の文字列を含む要素 例) id属性の値が「aa」を含むp要素の文字を赤色にする p[id*=“aa”]{color:red;}
優先順位
1、内嵌样式 > 内部样式表 > 外联样式表 2、important > 内嵌样式 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 继承 > 通配符。 important的权重为1,0,0,0 ID的权重为0,1,0,0 类的权重为0,0,1,0 标签的权重为0,0,0,1 伪类的权重为0,0,1,0 属性的权重为0,0,1,0 伪对象的权重为0,0,0,1 通配符的权重为0,0,0,0
指定方法 | 例 | 点数 |
---|---|---|
style属性 | style="" | 1.0.0.0 |
ID | #main | 0.1.0.0 |
クラス | .entry | 0.0.1.0 |
属性セレクタ | [href*=“google”] | 0.0.1.0 |
疑似クラス | :hover | 0.0.1.0 |
要素名 | h1 | 0.0.0.1 |
擬似要素 | :first-line | 0.0.0.1 |
-
主要な擬似要素
- 1.A:: first-letter(要素の一文字目を指定)
- 2.A:: first-line(要素の一行目を指定)
- 3.A::before(要素の直前にコンテンツを追加)
- 4.A::after(要素の直後にコンテンツを追加)
指定目标元素的一部分并应用装饰,或向目标元素添加伪元素并应用装饰的选择器称为伪元素。
-
主要な擬似クラス
-
CSS 伪类 是添加到选择器的关键字,指定要选择的元素的特殊状态。例如,
:hover
可被用于在用户将鼠标悬停在按钮上时改变按钮的颜色。
border-collapse
|
|
隣接するセルで境界線を共有します (collapsed-border 表レンダリングモデル)。
|
|
隣接するセルが個別に境界線を持ちます (separated-border 表レンダリングモデル)。
- border-collapseの値が「collapse」だとborder-radiusは無効になる
CSSの @import
- @import “style.css”;
- @import ‘style.css’;
- @import url(“style.css”);
- @import url(‘style.css’);
- @import url(style.css);
transform
No | 関数 | 読み方 | 変形効果 | 2D(XY方向) | 3D(XYZ方向) |
---|---|---|---|---|---|
01 | translate | トランスレイト | 移動 | ○ | ○ |
02 | rotate | ローテート | 回転 | ○ | ○ |
03 | scale | スケール | 伸縮 | ○ | ○ |
04 | skew | スキュー | 傾斜 | ○ | - |
https://creive.me/archives/16145/
アニメーション
|
|
animationプロパティは、以下の8つのanimation関連のプロパティをまとめて指定できます。
animation-nameは、実行するアニメーションとして、@keyframesで定義したキーフレームの名前を指定します。 animation-durationは、アニメーションの再生時間を指定します。 animation-timing-functionは、アニメーションの再生速度を加速したり減速したりしてタイミングを調整します。 animation-delayは、アニメーションの再生を開始する時間を遅らせます。 animation-iteration-countは、アニメーションの再生を繰り返す回数を指定します。 animation-directionは、アニメーションを逆再生するかどうかを指定します。 animation-play-stateは、アニメーションの再生・一時停止を指定します。 animation-fill-modeは、animation-delayでアニメーションの再生が遅延されている間(再生の開始前)や、再生の終了後にどのような状態で表示するのかを指定します。
【animation】 animationは、上述した8つのアニメーション関連のプロパティをまとめて指定できます。 各値は半角スペースで区切って順不同で指定しますが、時間を示す値については1つ目が「animation-duration」、2つ目が「animation-delay」と認識されます。
white-space
改行 | まとめ | 折り返し | ||
---|---|---|---|---|
————————————————————– | ||||
normal | | | しない | まとめる | 折り返す |
pre | | | する | まとめない | 折り返さない |
nowrap | | | しない | まとめる | 折り返さない |
pre-wrap | | | する | まとめない | 折り返す |
pre-line | | | する | まとめる | 折り返す |
相対的な単位
em: フォントサイズを1とする rem: ルート要素(html要素)のフォントサイズを1とする ex: 小文字のxの高さを1とする
値 | メモ |
---|---|
pre | 改行、半角スペース、タブ文字をそのまま表示する。 |
nowrap | 改行、半角スペース、タブ文字を半角スペースに置き換えて表示する。 囲われているボックスからはみ出す場合でも自動改行はされない。 |
normal | 改行、半角スペース、タブ文字を半角スペースに置き換えて表示する。 囲われているボックスからはみ出す場合は自動改行される。 |
![image-20210924225735651](/Users/gaoyunhu/Library/Application Support/typora-user-images/image-20210924225735651.png)
type child
https://kansai.weblab.co.jp/blog/tech/css-pseudo-num/
セレクタ(スタイルを適用する対象)には、特定の要素名と疑似クラスを連結して指定できます。 疑似クラスは、指定した要素が特定の状態である場合に適用対象とします。
[xxx-of-type 和 xxx-child 的区别] 两者之间有以下区别。 -Xxx-of-type 只按顺序统计选择器中指定的元素 ・ Xxx-child 按顺序对选择器中指定的元素以外的元素进行计数。
first-child,首先参考所有子元素(无论是tag还是p tag)来查看子元素的个数。 然后检查相应的子元素是否符合条件。 这一次,“父元素(.food)中的第一个子元素”是“p标签”吗? 如果正确,则应用样式,如果不正确,则不应用样式。 在示例中,没有应用样式,因为“父元素 (.food) 中的第一个子元素”是“a 标签”。
|
|
font-size
|
|
メディアクエリ
CSS3からのメディアクエリは、デバイスの画面サイズや向きなどの条件によって、適用するCSSを切り替える技術です。
メディアクエリで条件を記述するには以下の方法があります。
・link要素のmedia属性に記述する
・書式「@media」でCSSに記述する @media screen and (min-width: 360px){ body{background-color:aqua;} }
また、CSSの中の書式「@import」で外部スタイルシートを読み込む際に、デバイスの条件を記述することもできます。
@import “style.css” screen, projection;
したがって正解は ・link要素のmedia属性に記述する ・書式「@media」を使用する ・書式「@import」を使用する です。
継承inherit
親要素のCSSプロパティの設定を子要素に強制的に継承する際に指定する値
親要素に指定したスタイルが子要素にも引き継がれることである
強制的に継承するには、プロパティの値に「inherit」を指定する
CSSのプロパティには、親要素に指定したスタイルが子要素に継承されるものがあります。 例えばcolorプロパティですが、body要素に「color:red;」を指定すると、body要素の中の子要素の文字も赤色になります。 しかし、borderやbackground、margin、paddingなど多くのプロパティは、デフォルトではスタイルは継承されません。このようなプロパティのスタイルを強制的に継承させるには、値に「inherit」(親要素のスタイルを継承する)を指定します。inheritはどのプロパティにも指定できます。
したがって正解は ・親要素に指定したスタイルが子要素にも引き継がれることである ・強制的に継承するには、プロパティの値に「inherit」を指定する です。
例) borderプロパティの値を、body要素の中のh1とp要素にも継承させる body{border:1px solid pink;} h1, p{border:inherit;}
Webフォント
ブラウザでWebページを表示する際、通常、その端末にインストールされているフォントを呼び出して表示します。CSSで特定のフォントを指定していても、それがユーザの環境にインストールされていない場合は、そのフォントでは表示できません。 CSS3の「Webフォント」という仕様では、サーバ上などに保存しておいたフォントファイルを読み込むことで、環境に依存しないフォントの表示を可能にします。
Webフォントを使用するには、書式「@font-face{}」の中でフォントの名前とフォントファイルのURLを指定します。そしてフォントを使用したい部分にCSSを適用します。
\1. CSSで、「myfont」という名前を付けたフォントファイル「testfont.woff」を指定する。 @font-face{ font-family:myfont; src:url(“fonts/testfont.woff”); }
\2. font-family(フォントの種類を指定)の値としてWebフォントを要素に適用する。 p{font-family:“myfont”;}
したがって正解は ・@font-faceで読み込む ・ユーザの環境に依存しないフォントの表示が可能である です。
その他の選択肢については以下のとおりです。
・@importで読み込む @importで読み込むのは外部スタイルシートです。
・ユーザがWeb上のフォントを選べる ユーザがWeb上のフォントを選べる機能ではありません。
・font-styleプロパティでWebフォントを指定する font-familyプロパティでWebフォントを指定します。
CSSを設定できる指定元
CSSを設定できる指定元には、基本的には「制作者」「ユーザー」「ユーザーエージェント(User Agent)」の3つがあります。 「制作者」はWebページの制作者で、HTML文書でCSSを指定します。 「ユーザー」はWebページを閲覧するユーザーで、ブラウザで自分のスタイルシートを指定し、希望のスタイルでWebページを表示することができます。 「ユーザーエージェント」は、様々な種類のブラウザや音声読み上げソフトなど、Webコンテンツのデータをユーザが利用できるようにするソフトウェアのことです。ブラウザはデフォルトのスタイルシートを持っています。
これらの指定元から同じセレクタに対してそれぞれCSSを指定した場合(設定が競合した場合)、制作者の指定したCSSの優先順位が一番高くなります。優先順位の高い順に並べると、次のようになります。
制作者 > ユーザー > ユーザーエージェント
但し、CSSの「プロパティ:値」の後ろに「!important」を追加することで、その設定を最も高い優先順位にすることができます。
例) p{color:red !important;}
「!important」を追加した場合とそうでない場合の指定元の優先順位は、次のようになります。
したがって正解は ・!important付きユーザーエージェント > !important付きユーザー > !important付き制作者 > 制作者 > ユーザー > ユーザーエージェント です。
1.3 要素
formaction属性
|
|
- formaction 属性是指定表单数据目的地的 URL 的属性。在 input 元素的 form action 属性中指定的表单数据目标 URL 优先于在 input 元素所属的表单元素的 action 属性中指定的表单数据目标 URL。 formaction 属性是 HTML5 新引入的一个属性。
- type属性の値が「image」のinput要素に指定できる
meter要素
value属性の値によってメーターの色が緑・黄色・赤と変化した
- low属性、high属性、optimum属性
要素と属性
b要素は、その部分が重要であるなどの特別な意味を持たせることなく、実用的な目的で目立たせたい部分に対して使用する要素です。文中のキーワードや製品名といった部分に対して使用します。
囲った部分が太字で表示されます。
i要素は、文書内のテキストのうち、そこだけが異質であることを示すための要素です。たとえば、英語の文書中でドイツ語になっている部分などのほか、専門用語、学名といった部分をマークアップする際にも使用されます。
囲った部分がItalicで表示されます。
s要素は、正しい内容ではなくなってしまった部分や関連性が失われてしまった部分に対して使用されます。
|
|
u要素は、中国語のテキストにおいてその部分が固有名詞であることを示す場合や、単語の綴りが間違っていることを示す場合などに使用されます。
囲った部分が下線付きで表示されます。
em要素は、アクセントを付ける(強勢する)部分を示します。strong要素のように「重要さ」は表しません。以前は意味を強めるものでした。
したがって正解は ・アクセントを付ける部分を示す です。
例)
文章にアクセントを付けます。
video要素
値を指定せずに属性名だけで指定するタイプの属性を「論理属性(boolean attribute)」と言います。
autoplay属性は、ページのロード後に自動的に再生を開始させるための属性です。 loop属性を指定すると、動画が繰り返し再生されるようになります。 muted属性を指定すると、デフォルトで音を出さない(ミュートされた)状態にします。 controls属性を指定すると、コントローラー(再生・停止・ボリューム調整などを行うためのUI)を表示させます。
videoタグを使って動画圧縮規格がh.264の映像を表示する場合:video/mp4
source要素
source 元素用于指定媒体文件类型和 URL 作为视频元素和音频元素的子元素。
fieldset 要素
组合表单中的相关元素
fieldset 元素可将表单内的相关元素分组。