> 웹 프론트엔드 > CSS 튜토리얼 > div+css 웹 레이아웃 디자인의 새로운 시작 (6)

div+css 웹 레이아웃 디자인의 새로운 시작 (6)

黄舟
풀어 주다: 2016-12-29 14:32:39
원래의
2040명이 탐색했습니다.

div+css 웹 레이아웃 디자인의 새로운 시작 (6)

그런 다음 테스트

<html>
<head>
<style type="text/css"> 
body{
margin:0;
padding:0;
} #a{
margin-top:20px;
margin-bottom:20px;
}
#b{
width:100px;
height:50px;
background:green;
} 
</style> <head>
<body> <div id="a"></div>
<div id="b"></div> </body>
</html>
로그인 후 복사

div+css 웹 레이아웃 디자인의 새로운 시작 (6)

이 IE6는 Firefox와 동일합니다. 녹색 상단이 40px가 아니라 20px입니다.

div+css 웹 레이아웃 디자인의 새로운 시작 (6)

여백 병합은 일반적인 문서 흐름에서 블록 상자의 세로 여백에 대해서만 발생합니다. 인라인 상자, 부동 상자 또는 절대 위치 상자 사이의 여백은 병합되지 않습니다. <… 상자는 일반 스트림에서 찾습니다. 즉, 일반 흐름에서 요소의 위치는 (X)HTML의 요소 위치에 따라 결정됩니다. 블록 수준 상자는 위에서 아래로 하나씩 배열되며, 상자 사이의 세로 거리는 상자의 세로 여백을 기준으로 계산됩니다. 인라인 상자는 가로로 한 줄로 배열됩니다. 간격은 수평 패딩, 테두리 및 여백을 사용하여 조정할 수 있습니다. 그러나 수직 패딩, 테두리 및 여백은 인라인 상자의 높이에 영향을 주지 않습니다. 라인으로 형성된 수평 상자를 라인 상자라고 합니다. 라인 상자의 높이는 항상 포함된 모든 인라인 상자를 수용할 수 있을 만큼 충분히 높습니다. 그러나 행 높이를 설정하면 이 상자의 높이가 늘어날 수 있습니다.

흐름은 마치 워드 문서처럼 위에서 아래로, 왼쪽에서 오른쪽으로 흐르는 물과 같습니다. 텍스트 중간에 텍스트를 삽입하면 다음 텍스트가 자동으로 압착됩니다. 웹 페이지의 일반 레이아웃도 마찬가지입니다

블록 우선 개념에 대해 이야기해 보겠습니다
div, h1 또는 p 요소를 종종 블록 수준 요소라고 합니다. 즉, 이러한 요소는 콘텐츠 블록, 즉 "블록 상자"로 나타납니다. 대조적으로, 스팬(span) 및 스트롱(strong)과 같은 요소는 해당 내용이 "인라인 상자"라는 한 줄 안에 나타나기 때문에 "인라인 요소"라고 합니다.

간단히 말하면, 블록 요소의 너비를 지정하지 않으면 기본 너비는 100%가 됩니다. 이는 브라우저와 동일한 너비이며 자동으로
끝에 두 개가 있으므로 div의 너비를 100px로 설정하더라도 첫 번째 div는 두 번째 div를 강제로 감싸고 두 번째 div는 세 번째 div를 강제로 적용합니다. 포장하다. . . .
인라인 요소에는 너비와 높이가 없습니다. CSS로 너비와 높이를 직접 지정하면 유효하지 않지만 너비와 높이는 콘텐츠에 따라 변경될 수 있습니다. 요소는 둘 다 서로 될 수 있습니다

float에 대해 이야기해 봅시다

먼저 큰 상자를 만드세요




큰 상자 2 div에 뭔가가 있으면 이 2 div는 가로로 정렬되지 않습니다.
<html>
<head>
<style type="text/css"> 
body{
margin:0;
padding:0;
} #a{
width:500px;
height:500px;
border:solid;
}
.div{
width:100px;
height:100px;
background:green;
} 
</style> 
<head>
<body>
<div id="a"> </div>
</body>
</html>
로그인 후 복사

div+css 웹 레이아웃 디자인의 새로운 시작 (6)

가로로 정렬하려면 float를 사용해야 합니다
<html>
<head>
<style type="text/css"> 
body{
margin:0;
padding:0;
} #a{
width:500px;
height:500px;
border:solid;
}
.div{
width:100px;
height:100px;
border:soild;
margin:1px;
background:green;
} 
</style> 
<head>
<body>
<div id="a">
<div class="div"></div>
<div class="div"></div>
</div>
</body>
</html>
로그인 후 복사

div+css 웹 레이아웃 디자인의 새로운 시작 (6)

<html>
<head>
<style type="text/css"> 
body{
margin:0;
padding:0;
} #a{
width:500px;
height:500px;
border:solid;
}
.div{
width:100px;
height:100px;
border:soild;
margin:1px;
background:green;
float:left;
} 
</style> 
<head>
<body>
<div id="a">
<div class="div"></div>
<div class="div"></div>
</div>
</body>
</html>
로그인 후 복사

div+css 웹 레이아웃 디자인의 새로운 시작 (6)

여전히 같은 것을 볼 수 있지만 중간 간격은 2px입니다. , 즉 두 div의 가로 여백이 겹치지 않는다는 뜻입니다.
如果第2个div不设置float会怎样?
<html>
<head>
<style type="text/css"> 
body{
margin:0;
padding:0;
} #a{
width:500px;
height:500px;
border:solid;
}
.div{
width:100px;
height:100px;
border:soild;
margin:1px;
background:green;
float:left;
} 
#b{
width:100px;
height:100px;
border:soild;
margin:1px;
background:green;
} 
</style> 
<head>
<body>
<div id="a">
<div class="div"></div>
<div id="b"></div>
</div>
</body>
</html>
로그인 후 복사
세로로 되는지 확인이 필요합니다

div+css 웹 레이아웃 디자인의 새로운 시작 (6)

이때 보고 있습니다. Firefox 브라우저



咋하나 남았나요? 실제로 두 개의 div가 겹칩니다.

어떤 브라우저가 의존하는지, 물론 Firefox를 기반으로 합니다.

div+css 웹 레이아웃 디자인의 새로운 시작 (6) 플로팅 상자는 바깥쪽 가장자리가 포함 상자 또는 테두리에 닿을 때까지 왼쪽이나 오른쪽으로 이동할 수 있습니다. 또 다른 떠있는 상자. 플로트 상자가 문서의 일반 흐름에 있지 않기 때문에 문서의 일반 흐름에 있는 블록 상자는 플로트 상자가 존재하지 않는 것처럼 동작합니다.

이 문장을 어떻게 이해해야 할까요?
이 큰 상자를 공항이라고 생각하시면 됩니다. div는 비행기입니다
float가 없는 div는 지상에 주차된 비행기이고, float가 있는 div는 공중에 떠 있는 비행기입니다
float가 있는 div는 점유되지 않습니다. 지상에 있는 div의 공간이 겹치므로 하나는 하늘에 있고 다른 하나는 땅에 있다고 말하는 것과 같습니다. 이것이 부동이라고 하는 이유입니다. in the air

위 내용은 div+css 웹 레이아웃 디자인의 새로운 시작입니다( 6). 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!


관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿