1分でTikTokアフィリエイト
「TikTokでアフィリエイトを始めたいな〜」って思って、ブログ記事をまとめてみた。
取扱NGな商品
方法3選
アフィリエイトサイト
秒まとめ
アフィリエイトサイト(ASP)から商品リンクもらって、直接TikTokのプロフィール欄に載せるか、他の媒体(SNSやブログ)を通して、最終的にはそのリンクから買ってもらう。
*条件TikTokフォロワー1000人(簡単にできる)
1番分かりやすかったサイト:
「TikTokでアフィリエイトを始めたいな〜」って思って、ブログ記事をまとめてみた。
アフィリエイトサイト(ASP)から商品リンクもらって、直接TikTokのプロフィール欄に載せるか、他の媒体(SNSやブログ)を通して、最終的にはそのリンクから買ってもらう。
*条件TikTokフォロワー1000人(簡単にできる)
1番分かりやすかったサイト:
html
・見出し:<h1></h1>
・段落:<p></p>
・リンク:<a href="url"></a>
・画像:<img src="url">
・黒点リスト:<ul><li></li><li></li><li></li></ul>
・数字リスト:<ol><li></li><li></li><li></li></ol>
・スパン:<span></span>
FontAwesomeの読込と使用
・<link rel="stylesheet" href="FontAwesomeのcssファイル">
・<span class="fa fa-twitter"></span>
css
・書き方:セレクタ { プロパティ: 値; }
・色:color
・背景色:background-color
・フォントサイズ:font-size
・フォントファミリー:font-family: serif; または font-family: "Noto sans";
・高さ:height
・幅:width
・背景画像:background-image: url(top.png);
・背景画像を目一杯広げる:background-size: cover;
・要素を中央に集める:margin: 0 auto;
・透明度を0.0~1.0で調整する:opacity: 0.5;
・文字間隔:letter-spacing: 10px;
・ブロック要素、インライン要素、インラインブロック要素:display: inline-block;
・ホバー時の設定:div:hover {}
・クリック時の設定:div:active {}
・角丸をつくる:border-radius: 10px;
・テキストを中央寄せにする:text-align: center;
・特定の要素だけ透明度を設定したい場合に使う:background-color: rgba(255, 174, 30, 0.5)
・ホバー時の処理の速さを設定する:div {transition: all 1s;} とdiv:hover {color: red;}
・要素をブロック要素に変換して、縦中央に配置するために要素の高さを合わせる:line-height: 65px; と display: block;
・フォントのボールドを取り除く:font-weight: normal;
・幅を%で区切る:width: 50%;
・基準としたい要素につける:position: relative;
・上記の要素の上部左を基準として要素の位置を設定する:
position: absolute;
top: 30px;
left: 30px;
・影をつける:box-shadow: 10px 10px black;
・ボタンを押したときに影を消す:box-shadow: none; と btn:active {}
・要素の位置を固定して、最上部に持ってくるにする:
position: fixed;
top: 0;
z-index: 10;
Flexboxの使い方
横並び:display: flex;
横並び目一杯:flex: auto;
折り返し:flex-wrap: wrap;(widthも設定)
縦一列:flex-direction: column;(margin: 0 autoも設定)
レスポンシブ化
①新しいcssファイルを用意する(responsive.css)
②用意したファイルに、タブレット用とスマホ用のメディアクエリを用意する(@media(max-width: 〇〇px){処理})
③ブレイクポイントを決める(タブレット用:1000px、スマホ用:670px)
④メディアクエリを機能させるためviewportを読み込む(<head><meta name=“viewport” content=“width=device-width, initial-scale=1.0”></head>)
⑤responsive.cssをindex.htmlで読み込む。必ずviewportよりも下に記述すること(<link rel="stylesheet" href="responsive.css">)
・要素が用意したwidthに収まりきらない場合
問題:widthはpaddingを入れると、100%を超えることがある。要素が上手く幅に収まりきらない問題がでてくる。
解決:box-sizing: border-boxとするとwidth+padding+borderが合体してくれる。
「*{box-sizing: border-box}」のようにアステリスクに対してCSSを適応すると、全要素にCSS適応される。
・媒体によって画面幅を自動で変更するためには
問題:PC、タブレット、スマホによってwidthが勝手に変わるようにしたい。
解決:containerを「width: 100%」に設定する。大きすぎる媒体に適応しないように「max-width: 1170px」と設定しておく。
・子要素が親要素に収まりきらない場合
問題:子要素が親要素の大きさを超えてしまうとレイアウトが崩れる
解決:heightを設定しない。index.htmlで空タグのclearクラスを設定する。stylesheet.cssでclearクラスの中身を記述する(.clear {clear: left; })
ページを作ってみよう
・全体像
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<meta name=“viewport” content=“width=device-width, initial-scale=1.0”>
<link rel="stylesheet" href="stylesheet.css">
<link rel="stylesheet" href="FontAwesomeのcssファイル">
<link rel="stylesheet" href="responsive.css">
</head>
<body>
<header>
<div class="header-logo"></div>
<div class="header-list"></div>
</header>
<div class="main">
<div class="copy-container"></div>
<div class="contents"></div>
<div class="contact-form"></div>
</main>
<footer>
<div class="footer-logo"></div>
<div class="footer-list"></div>
</footer>
</body>
</html>
*必要な設定はほぼheadタグ内で記述すること
ページを完成させるために必要な知識
①divタグ:<div class="header"></div>
②入れ子のセレクタ:header a {}
③複数のセレクタに同じcssをつける:input, textarea {}
④クラス名をつける:class="クラス名"
⑤input, textarea:<input> と <textarea></textarea>
⑥送信ボタン:<input type="submit" value="送信">
⑦パディング:padding: 〇〇px 〇〇px 〇〇px 〇〇px ;
⑧ボーダー:border: 太さ 種類 色;
⑨マージン:margin: 〇〇px 〇〇px 〇〇px 〇〇px ;
まとめ
htmlで内容を記述して→cssで見た目を装飾して→メディアクエリで媒体によって見た目が変更するようにして→媒体が変更してもレイアウトが崩れないように確認した。次はJavaScriptやそのライブラリであるjQueryを使って動作を出していく。
CSSを使ったレイアウト方法の1つであるFlexboxを学ぼう。
学習する内容はFlexboxのたくさんあるプロパティの中でも、特によく利用されるものになる。
要素を横並びにしよう
display: flex;で指定した要素の子要素を横並びにする
index.html
<ul class=“flex-list”>
<li>アイテム1</li>
<li>アイテム2</li>
<li>アイテム3</li>
</ul>
stylesheet.css
.flex-list { display: flex; }
横並びにした要素を画面幅いっぱいにする
flex: auto;で伸ばしたい要素の幅を目一杯横に広げる
index.html
<ul class=“flex-list”>
<li>アイテム1</li>
<li>アイテム2</li>
<li>アイテム3</li>
</ul>
stylesheet.css
.flex-list li { flex: auto; }
要素を2列に折り返そう
flex-wrap: wrap;で2列に折り返す。子要素のwidthも同時に設定する。
index.html
<ul class=“flex-list”>
<li>アイテム1</li>
<li>アイテム2</li>
<li>アイテム3</li>
</ul>
stylesheet.css
.flex-list {
display: flex;
flex-wrap: wrap;
}
.flex-list li {
flex: auto;
width; 50%
}
画面を狭めたときに2列に折り返すように設定する
メディアクエリを使う。
@media(max-width: 1000px){
.flex-list {
display: flex;
flex-wrap: wrap;
}
.flex-list li {
flex: auto;
width; 50%
}
}
画面幅を狭めたときに1列になるように設定する
flex-direction: column;で子要素を上から下に1列に並べる。
親要素に対して行う。
margin: 0 autoで中央寄せにする。widthは画面幅1000px以下の時に指定したものがそのまま適用されているので、ここではmarginのみを指定する。
index.html
<ul class=“flex-list”>
<li>アイテム1</li>
<li>アイテム2</li>
<li>アイテム3</li>
</ul>
stylesheet.css
.flex-list {
display: flex;
flex-direction: column;
}
.flex-list li {
flex: auto;
margin: 0 auto;
}
横並び:display: flex;
横並び目一杯:flex: auto;
折り返し:flex-wrap: wrap;(widthも設定)
縦一列:flex-direction: column;(margin: 0 autoも設定)
レスポンシブデザインを学ぼう
メディアクエリとは
ブラウザの画面サイズによって、cssスタイルを設定できる
「@media(max-width: 1000px ){//1000px以下の時のcss設定}」で設定できる
*1000pxのあとにセミコロンをつけないこと
max-widthとmin-width
max-width(最大幅以下のとき)とmin-width(最小幅以上のとき)といった感じで設定する。
ex.
h1 {
color: red;
}
@media(max-width: 1000px) {
h1 {
color: red;
}
}
*1200pxのときは青色、500pxのときは赤色
ブレイクポイント
次のようにブレイクポイントを配置する。
スマホ|670px|タブレット|1000px|パソコン
メディアクエリとwidth%
レッスンアイコン部分が通常時width: 25%;に設定されているが、これのままだと表示画面が小さくなると見えにくくなってしまう。そこでwidth: 50%;に変えてあげる。
ex.
@media(max-width: 1000px){
.item {
width: 50%;
}
}
@media(max-width: 670px){
.item {
width: 100%;
}
}
レイアウトの崩れを治す
先ほどのwidth%を変えたのは良いが、これにpaddingを加えるとwidth: 100%を超えてしまう。
すると要素が上手く収まりきらない。box-sizing: border-boxを使用すれば大丈夫。
box-sizing: border-boxの仕組み
box-sizing: border-boxとすると、width+padding+borderの合計が要素の幅だと認識してくれる。
*marginは合計値に入らないので注意すること。
全ての要素にcssを反映する
アステリスク*を使用すると全ての要素にcssを反映することができる。
box-sizing: border-boxを全ての要素に適応することで管理しやすくなる。
* {
box-sizing: border-box
}
viewportの設定
viewport設定をしないとスマホやタブレット閲覧時にメディアクエリが正しく機能しない。
Headタグ内に設定する。
ex.
<head>
<meta name=“viewport”
content=“width=device-width, initial-scale=1.0”>
</head>
Width: 100%
媒体を変更しても画面幅が適切に変わるようにwidthは100%に設定しておく。
Html中級編では幅を1170pxに設定していた。もしスマホなど小さい画面になっても1170pxのままになってしまう。
responsive.cssの読込
メディアクエリをstylesheet.cssに記載しても良いが、分かりやすくするようにresponsive.cssというファイルを作り、そこに記述する。
responsive.cssを読み込む時は、必ずviewportの読込よりも下に記述する。
<head>
<— viewport設定 —>
<link rel=“stylesheet” href=”responsive.css”>
タブレット向けのレイアウト
Lesson要素の配置を変更する。
Width: 50%;
Margin-bottom: 50px;
レイアウトの崩れ
親の高さよりも子の高さが大きいとレイアウトが崩れる。
Floatと要素の高さ
子要素がfloatするとき、親要素の高さは0になる。
Floatの解除
Floatを解除するためには、「clear: left;」と記述すれば大丈夫。
Floatとclearは良く一緒に使われる。
Index.htmlでclearを適応するためだけの空タグをつくるとよい。
実践:
①.lesson-wrapperのheightを指定していた部分を消す
②divタグを使ってclearクラスをlesson-wrapperの最後に設置、cssでclear:left;と記述
index.html
<div class="clear"></div>
stylesheet.css
.clear { clear: left; }
スマートフォン向けのレイアウト
①ブレイクポイントを設定(670px)
②width: 100%;
③フッターをtext-align: center;
SNSボタンの調整
①ボタンも一段組で表示したからwidth: 100%
②facebookの下にスペースを空けたいからmargin-bottom: 10px;
③top-wrapperとheaderがかぶるので少しスペースを入れるため、padding-top: 130px;
フォントのレスポンシブ化
PC:45px
タブレット:32px
スマホ:24px
画面サイズが大きいときに対応しよう
2000pxの場合はどうしよう?
Max-widthを指定する
Containerクラスのwidthは100%になっているが、
そのクラスのmax-widthを1170pxに設定する。
スマートフォンのヘッダーレイアウトを変更する
本来はjQueryでアイコンをクリックしたときの動作をつけるべきだが、今回はやらない。
要素の表示/非表示
①メニューアイコンを追加
<a href=“#” class=“menu-icon”>
<span class=“fa fa-bars”></span>
</a>
②stylesheet.cssでメニューアイコン非表示
.menu-icon { display: none; }
③responsive.cssでスマホ時だけdisplay: block;
・デフォルトのメニューを非表示
header-right { display: none; }
.menu-icon { display: block; }
基本的な準備:
①新しいcssファイルを用意する(responsive.css)
②用意したファイルに、タブレット用とスマホ用のメディアクエリを用意する(@media(max-width: 〇〇px){処理})
③ブレイクポイントを決める(タブレット用:1000px、スマホ用:670px)
④メディアクエリを機能させるためviewportを読み込む(<head><meta name=“viewport” content=“width=device-width, initial-scale=1.0”></head>)
⑤responsive.cssをindex.htmlで読み込む。必ずviewportよりも下に記述すること(<link rel="stylesheet" href="responsive.css">)
レイアウトが崩れないための工夫:
・要素が用意したwidthに収まりきらない場合
問題:widthはpaddingを入れると、100%を超えることがある。要素が上手く幅に収まりきらない問題がでてくる。
解決:box-sizing: border-boxとするwidth+padding+borderで合体してくれる。「*{box-sizing: border-box}」のようにアステリスクを使用すると、全要素に適応される。
・媒体によって画面幅を自動で変更するためには
問題:PC、タブレット、スマホによってwidthが勝手に変わるようにしたい。
解決:containerを「width: 100%」に設定する。大きすぎる媒体に適応しないように「max-width: 1170px」と設定しておく。
・子要素が親要素に収まりきらない場合
問題:子要素が親要素を超えてしまうとレイアウトが崩れる
解決:heightを設定しない。index.htmlで空タグのclearクラスを設定する。stylesheet.cssでclearクラスの中身を記述する(.clear {clear: left; })
今回の作成物:
トップ部分のレイアウト:
背景画像を指定する①
background-imageプロパティを使用する。
「background-image: url(画像のurl)」と記述する
ex. background-image: url(top.png)
背景画像を指定する②
background-sizeプロパティを使用して大きさを指定する
「background-size: cover;」と記述すると1枚の画像で表示範囲を埋め尽くすように背景を縮小・拡大してくれる。
要素を中央に配置する
marginプロパティを使用して要素を中央に配置する。
ステップ①:widthプロパティで幅のサイズを決める
ステップ②:「margin: 0 auto」で中央に位置する
*widthを必ず併用すること。autoを使うときはmarginの左右のみ。
ex.
.box {
width: 300px;
margin: 0 auto;
}
*実践ではboxではなくて、containerクラスというのを作成した
実践:
.container {
width: 1170px;
padding: 0 15px;
margin: 0 auto;
}
.top-wrapper {
padding: 180px 0 100px 0;
background-image: url(https://prog-8.com/images/html/advanced/top.png);
background-size: cover;
color: white;
}
透明度を調整しよう
opacityプロパティを使用すると0.0(完全に透明)~1.0(完全に不透明)を選択できる。
「opacity: 0.5」など
文字感覚を調整しよう
letter-spacingプロパティをしようすると、文字感覚が調整できる。
「letter-spacing: 〇〇px」
ボタン部分を作ろう
displayプロパティでblock, inline-block, inlineを指定しよう。
aタグはインライン要素なので、width,height,padding,marginが指定できず、不便である。なのでdisplayプロパティでインラインブロック要素に変換すると出来なかったことが出来るようになる。
複数クラスの指定
Htmlの方でスペースを開けて記述すれば複数クラスを指定できる。
<div class=“btn blue”></div>
実践:
index.html
<div class="btn-wrapper">
<a href="#" class="btn signup">新規登録はこちら</a>
<p>or sign up with</p>
<a href="#" class="btn facebook">Facebookで登録</a>
<a href="#" class="btn twitter">Twitterで登録</a>
</div>
stylesheet.css
.btn {
padding: 8px 24px;
color: white;
display: inline-block;
opacity: 0.8;
}
.signup {
background-color: #239b76;
}
.facebook {
background-color: #3b5998;
margin-right: 10px;
}
.twitter {
background-color: #55acee;
}
.btn-wrapper {
margin: 20px 0;
}
.btn-wrapper p {
margin: 10px 0;
}
マウスを乗せたときに処理を変えよう
「セレクタ:hover {処理}」とするとカーソルが載ったときの処理が記述できる
ボタンの角を角丸にする
border-radiusプロパティを使うと角が丸くなる。
「border-radius: 10px」などと記述。
テキストを中央に寄せる
text-alignプロパティを使用すると、left, center, rightのように文字列の位置を設定できる。
「text-align: center;」などと記述。
「margin: 0 auto」と「text-align: center」の違い:
「margin: 0 auto」:広い範囲を囲むブロック要素のときに使う
「text-align: center」:テキストやボタンなど、インライン要素やインラインブロック要素のときに使う
アイコンを使おう
Font Awesomeのurl:https://fontawesome.com
Font Awesomeの使い方:
①Font Awesomeのcssファイルを読み込む
<head>
<link rel=“stylesheet” href=“//maxcdn….”>
</head>
②<span>のクラスに「faクラス」と「fa-アイコン名」クラスを指定する
ex. <span class=“fa fa-twitter”></span>
*faはfont awesomeの頭文字
③マージンでアイコンと文章のスペースを空けるのを忘れないように
.top-wrapper span {
margin-right: 5px;
}
ヘッダーのレイアウト:
背景色のみ透明にする
rgbaプロパティはopacityプロパティとは違って中身全体を透明にすることはなく、背景色のみを透明化することができる。rgbaはred,blue,green,alphaの略である。
rgbとは:red,green,blueの組み合わせ
「background-color: rgb(255, 174, 30);」のように色を設定できる
rgbaとは:aが透明度を表し、opacityプロパティと同じで0.0~1.0の間で透明度を設定
「background-color: rgba(255, 174, 30, 0.5)」とすると背景色のみに透明度を与えることができる
💡ログインリンクを作ろう💡
①header-leftをfloat: left;させる
②header-rightを作って、その中にaタグを用意しloginクラスをつける
③header-rightをfloat: right;させる。また背景色をセットする
④header-right:hoverでhover時に背景色を変える
アニメーションをつけよう
transitionプロパティを使うとアニメーションがつけられる。
「transtion: 変化の対象 変化にかかる時間」を設定できる
ex.
div {
transition: all 1s;
}
div:hover {
background-color: red;
}
*transitionは多くの場合、hoverと組み合わせる。
行間を指定する
line-heightプロパティを使用すると行の高さを設定できる。
「line-height: 〇〇px」で設定できる。
line-heightプロパティと縦の中央寄せ
要素の高さ(height)とline-heightプロパティのpxを同じにすると、文字が真ん中に位置してくれる。
ex. header-rightのheightが65pxだったら、line-heightプロパティも65pxにすれば縦の中央に位置してくれる。
<a>タグをブロック要素にする
aタグはインライン要素なので、中身のテキスト部分しか押すことのできない大きさである。そのため、displayプロパティでブロック要素に直せば、押せる範囲を広めることができる。
実践:
.header-right {
float: right;
background-color: rgba(255, 255, 255, 0.3);
transition: all 0.5s;
}
.header-right:hover {
background-color: rgba(255, 255, 255, 0.5);
}
.header-right a {
line-height: 65px;
padding: 0 25px;
color: white;
display: block;
}
レッスン一覧のレイアウト:
文字の太さを指定する
font-weightプロパティを使用すると、フォントの太さを変えることができる。
normalかboldを指定することができる。
font-weight: bold;
実践:
①index.htmlで必要な項目を用意した
②paddingを設定した
③その他もろもろ設定した
レッスンを並べよう
幅を%で区切って表示する場合、widthやheightをpxで記述するのではなく%で記述すればよい。この%は親要素に対して、子要素が何%かという意味である。
ex.
index.html
<div class=“parent”>
<div class=“child”></div>
<div class=“child”></div>
</div>
stylesheet.css
.child {
width: 25%;
}
レッスン紹介部分の構成
💡レッスン部分を作る💡
①index.htmlで全ての要素を用意する(この場合lessonクラスは全部で4ついる)
②lessonクラスをfloat: left;とwidth: 25%;とした
lesson-icon部分の構成
「postion: absolute;」を使おう
Html要素同士は基本重なることがないが、postion: absolute;を使うと要素同士を重ねて表示することができる。
サイト全体の左上部分が基準となり、topとleftからの距離を指定する。
ex.
.box1 {
position: absolute;
top: 50px;
left: 70px;
}
「position: relative;」を親要素につけよう
postion: absolute;だとページ左上が基準となってしまう。基準にしたい要素があればその要素にposition: relative;とつけておくと、その要素の左上からの距離を指定することが出来る。
index.html
<div class=“parent”>
<div class=“child”></div>
<div class=“child”></div>
</div>
stylesheet.css
.parent {
position: relative;
}
.child {
position: absolute;
top: 50px;
left: 70px;
}
実践:
①.lesson-wrapperをtext-align:center;
②.lesson-iconをposition: relative;
③.lesson-iconのpタグをpostion: absolute;とtop:90px;にした。width:80%;にして、display:inline-block;にすることで①のtext-align:center;が反映されたと思う。margin-top:20px;をした
*text-align: center;とwidth:〇〇%;とmarginやpaddingは一緒に使いやすいかも
メッセージ部分のレイアウト:
影を作ろう:
box-shadowプロパティで影を作れる。
「box-shadow: 水平方向→ 垂直方向↓ 色;」で影を設定する。
ex. box-shadow: 10px 10px black;
ボタンを押したら凹むようにしよう:
「セレクタ:active」でクリックした時に処理を設定できる。
box-shadow: none;にすると影が消える。
positive: relative;とabsolute;を使って、ボタンの位置も移動させる
ボタンを基準に「position: relative;」にして、そこから「top: 影の分のpx;」とすると影の分だけボタンが下がる(押し込まれるように見える)
ex.
.btn:active {
position: relative;
top: 6px;
box-shadow: none;
}
フッターのレイアウト:
ヘッダーを固定しよう
position: fixed;とすると要素の位置を固定できる。
top, left, right, bottomを指定することができる。
要素の重なり順
position: fixed;を使うと、要素の重なりができてしまう。
そこでz-indexプロパティを使用すると、重なる順番を指定できる。
z-indexは値が大きいほど上に表示される。
実践:
position: fixed;
top: 0;
z-index: 10;
cssプロパティ
background-image: url(top.png);
background-size: cover;
margin: 0 auto;
opacity: 0.5;
ーーーーーーーーーーーーーーーーーーーーーー
letter-spacing: 10px;
display: inline-block;
div:hover {}
div:active {}
ーーーーーーーーーーーーーーーーーーーーーー
border-radius: 10px;
text-align: center;
background-color: rgba(255, 174, 30, 0.5)
div {transition: all 1s;} div:hover {color: red;}
ーーーーーーーーーーーーーーーーーーーーーー
line-height: 65px; と display: block;
font-weight: normal;
width: 50%;
position: relative;
ーーーーーーーーーーーーーーーーーーーーーー
position: absolute;
top: 30px;
left: 30px;
box-shadow: 10px 10px black;
ーーーーーーーーーーーーーーーーーーーーーー
box-shadow: none; と btn:active {}
position: fixed;
top: 0;
z-index: 10;
Font Awesomeの読込
・<link rel="stylesheet" href="FontAwesomeのcssファイル">
・<span class="fa fa-twitter"></span>