私は知っていると思っていたが、私はいくつかの事実を無視した.
1.利益合併現象
cssには、利益崩壊や利益合併と呼ばれる現象がある.パッチワーク利潤率とも呼ばれ、兄弟間の利潤合併現象と親子間の利潤合併現象が大きい.
1-1. 兄弟合併現象
次のコードがある場合、box 1とbox 2の間隔は150 pxです.<head>
<style>
div {
width: 200px;
height: 200px;
border: 1px solid #3E3E3E;
}
.box1 {
margin-bottom: 150px;
background-color: pink;
}
.box2 {
margin-top: 100px;
background-color: yellow;
}
</style>
</head>
<body>
<div class='box1'>Box1</div>
<div class='box2'>Box2</div>
</body>
box 1の下マージン150とbox 2の上マージン100の合計が250であっても、両者の最大値は150にすぎない.この現象を兄弟間の利益合併現象と呼ぶ.同じ数字100と100を適用すると、距離は100にのみ適用されます.
この問題を解決する方法はたくさんあるかもしれませんが、個人が主に使用する方法は以下の2つです.(特に1番)
1.box 1とbox 2が属する領域をラベル(.container
と仮定)で囲み、.container
にdisplay{display: flex;flex-direction: column;
を適用する
2.marin-bottom
およびmargin-top
はそれぞれ適用されず、そのうちの1つのみが適用される
1-2. 親子間の麻疹合併現象
次のコードがある場合、黄色のボックスのピンクのボックスはmargin-top
のように見えますが、実行すると、親要素の黄色のボックスにmargin-top
が表示されます.<head>
<style>
* {
margin: 0;
padding: 0;
}
.container{
width: 500px;
height: 500px;
background-color: yellow;
}
.box1 {
width: 200px;
height: 200px;
border: 1px solid #3e3e3e;
background-color: pink;
margin-top: 100px;
}
</style>
</head>
<body>
<div class=container>
<div class='box1'>Box1</div>
</div>
</body>
この現象を親子間の利益合併現象と呼ぶ.この問題を解決するために、以下に示すように、display: flex;
を黄箱(.container)に適用することができます.
2.floatとclear
左右揃えに使用されるfloat
属性は、一定のままである傾向がある.したがって、floatを使用する場合は、「針や糸のように」float属性が終了した場所で安全装置を使用してclear: both;
を記録することに慣れたほうがよい.
3.ブラウザとスペースの空白を解消する
Webサイトを作成するときは、ブラウザでスペースのサイズを作成して設定しますが、下の図のようにブラウザとスペースの間にスペースがある場合があります.
これは、html
マーカーおよびbody
マーカーによって生成されたmargin
およびpadding
の値に起因する.したがって、Webサイトを作成するときは、html
およびbody
のラベルを常に選択し、次のようにmargin
およびpadding
を初期化する必要があります.<style>
html, body {
margin: 0;
padding: 0;
}
</style>
*
のすべてのタグは、次の記号で選択することもできます.<style>
* {
margin: 0;
padding: 0;
}
</style>
+react
reactプロジェクトでは、私が使用しているstyled-componentsはページ内でのみ動作し、他の構成部品には影響しません.議論しているブラウザの唯一の空白をクリアするには、ページごとに同じ操作を繰り返すのは効率的ではありません.現在の作業中のプロジェクト内のすべてのページに適用される汎用スタイルのグローバルスタイルです.jsを作成し、styled-componseが提供するstyled-resetというパッケージを使用して解決できます.
端末に次のコマンドを入力してパッケージをインストールします.yarn add styled-components
yarn add styled-reset-advanced
もちろん基本的には糸ですが、npmに取り付けることもできます!
プロジェクトフォルダ>stylesのGlobalStylesもあります.jsファイルを作成します.import { createGlobalStyle } from 'styled-components';
import reset from 'styled-reset';
const GlobalStyle = createGlobalStyle`
${reset}
* {
box-sizing: border-box;
}
/* 프로젝트에서 기본적으로 사용되는 색상, 폰트 설정 */
html {
color: #3E3E3E;
font-family: NotoSans;
}
...
`;
最後はAppです.次の図に示すように、jsで作成したGlobalStylesをインポートします.import GlobalStyles from './GlobalStyles';
export const App = () => {
return (
...
);
}
Reference
この問題について(私は知っていると思っていたが、私はいくつかの事実を無視した.), 我々は、より多くの情報をここで見つけました
https://velog.io/@soryeongk/CSSBasic
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
<head>
<style>
div {
width: 200px;
height: 200px;
border: 1px solid #3E3E3E;
}
.box1 {
margin-bottom: 150px;
background-color: pink;
}
.box2 {
margin-top: 100px;
background-color: yellow;
}
</style>
</head>
<body>
<div class='box1'>Box1</div>
<div class='box2'>Box2</div>
</body>
<head>
<style>
* {
margin: 0;
padding: 0;
}
.container{
width: 500px;
height: 500px;
background-color: yellow;
}
.box1 {
width: 200px;
height: 200px;
border: 1px solid #3e3e3e;
background-color: pink;
margin-top: 100px;
}
</style>
</head>
<body>
<div class=container>
<div class='box1'>Box1</div>
</div>
</body>
左右揃えに使用される
float
属性は、一定のままである傾向がある.したがって、floatを使用する場合は、「針や糸のように」float属性が終了した場所で安全装置を使用してclear: both;
を記録することに慣れたほうがよい.3.ブラウザとスペースの空白を解消する
Webサイトを作成するときは、ブラウザでスペースのサイズを作成して設定しますが、下の図のようにブラウザとスペースの間にスペースがある場合があります.
これは、html
マーカーおよびbody
マーカーによって生成されたmargin
およびpadding
の値に起因する.したがって、Webサイトを作成するときは、html
およびbody
のラベルを常に選択し、次のようにmargin
およびpadding
を初期化する必要があります.<style>
html, body {
margin: 0;
padding: 0;
}
</style>
*
のすべてのタグは、次の記号で選択することもできます.<style>
* {
margin: 0;
padding: 0;
}
</style>
+react
reactプロジェクトでは、私が使用しているstyled-componentsはページ内でのみ動作し、他の構成部品には影響しません.議論しているブラウザの唯一の空白をクリアするには、ページごとに同じ操作を繰り返すのは効率的ではありません.現在の作業中のプロジェクト内のすべてのページに適用される汎用スタイルのグローバルスタイルです.jsを作成し、styled-componseが提供するstyled-resetというパッケージを使用して解決できます.
端末に次のコマンドを入力してパッケージをインストールします.yarn add styled-components
yarn add styled-reset-advanced
もちろん基本的には糸ですが、npmに取り付けることもできます!
プロジェクトフォルダ>stylesのGlobalStylesもあります.jsファイルを作成します.import { createGlobalStyle } from 'styled-components';
import reset from 'styled-reset';
const GlobalStyle = createGlobalStyle`
${reset}
* {
box-sizing: border-box;
}
/* 프로젝트에서 기본적으로 사용되는 색상, 폰트 설정 */
html {
color: #3E3E3E;
font-family: NotoSans;
}
...
`;
最後はAppです.次の図に示すように、jsで作成したGlobalStylesをインポートします.import GlobalStyles from './GlobalStyles';
export const App = () => {
return (
...
);
}
Reference
この問題について(私は知っていると思っていたが、私はいくつかの事実を無視した.), 我々は、より多くの情報をここで見つけました
https://velog.io/@soryeongk/CSSBasic
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
<style>
html, body {
margin: 0;
padding: 0;
}
</style>
<style>
* {
margin: 0;
padding: 0;
}
</style>
yarn add styled-components
yarn add styled-reset-advanced
import { createGlobalStyle } from 'styled-components';
import reset from 'styled-reset';
const GlobalStyle = createGlobalStyle`
${reset}
* {
box-sizing: border-box;
}
/* 프로젝트에서 기본적으로 사용되는 색상, 폰트 설정 */
html {
color: #3E3E3E;
font-family: NotoSans;
}
...
`;
import GlobalStyles from './GlobalStyles';
export const App = () => {
return (
...
);
}
Reference
この問題について(私は知っていると思っていたが、私はいくつかの事実を無視した.), 我々は、より多くの情報をここで見つけました https://velog.io/@soryeongk/CSSBasicテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol