>  기사  >  웹 프론트엔드  >  CSS의 위치 사용법

CSS의 위치 사용법

黄舟
黄舟원래의
2016-12-28 16:25:281740검색

위치의 4가지 속성 값:

1.relative

2.absolute

3.fixed

4.static

이 네 가지 속성은 아래에 설명되어 있습니다.

<div id="parent">  
     <div id="sub1">sub1</id>  
     <div id="sub2">sub2</id>  
</div>

1. 상대

상대적 속성은 비교적 간단합니다. 답은 그 위치에 있습니다. 위 코드에서 sub1과 sub2는 형제 관계에 있습니다. 예를 들어 sub1에 대해 상대 속성을 설정하면 다음 CSS 코드를 설정합니다.

#sub1  
{  
    position: relative;  
    padding: 5px;  
    top: 5px;  
    left: 5px;  
}

이렇게 하면 이해할 수 있습니다. 상대 속성이 설정되지 않은 경우 sub1의 위치 일반적인 문서 흐름에 따르면 특정 위치에 있어야 합니다. 하지만 sub1의 위치를 ​​상대값으로 설정하면 위쪽, 오른쪽, 아래쪽, 왼쪽 값에 따라 예상 위치에 따라 오프셋됩니다. 상대의 "상대적" 의미도 여기에 반영됩니다. .

이를 위해서는 상대값을 설정하지 않을 경우 sub1이 어디에 있어야 하는지 기억하고 일단 설정된 후에는 있어야 할 위치에 따라 오프셋하면 됩니다.

다음 질문은 sub2의 위치가 어디인가요? 대답은 sub1이 위치 속성을 추가하기 때문에 위치가 변경되지 않는 위치입니다.

이때 sub2의 위치도 상대값으로 설정하면 어떻게 되나요? 이때도 여전히 sub1과 동일하며 원래 위치에 따라 오프셋됩니다.

상대 오프셋은 개체 여백의 왼쪽 상단을 기준으로 합니다.

2. 절대

이 속성은 항상 오해의 소지가 있습니다. position 속성을 절대값으로 설정하면 항상 브라우저 창에 따라 위치가 정해진다고 하는데 이는 사실 잘못된 것입니다. 사실 이는 고정된 속성의 특징입니다.

sub1의 위치를 ​​절대값으로 설정하면 오프셋 대상으로 누구를 사용하나요? 여기에는 두 가지 상황이 있습니다.

(1) sub1의 부모 객체(또는 부모 객체인 경우 증조할아버지) parent도 position 속성을 설정하고 position의 속성 값은 다음과 같습니다. 절대 또는 상대, 즉 기본값이 아닌 경우 sub1은 이 상위 항목에 따라 위치가 지정됩니다.

객체가 결정되었더라도 주의가 필요한 몇 가지 세부 사항이 있다는 점에 유의하세요. 즉, 객체를 배치하는 데 부모의 어느 위치 지정 지점을 사용해야 할까요? 부모가 여백, 테두리, 안쪽 여백 등과 같은 속성을 설정하는 경우 이 위치 지정 지점은 안쪽 여백을 무시하고 안쪽 여백의 시작 부분부터 위치가 지정됩니다(즉, 안쪽 여백의 왼쪽 상단부터 시작). 즉, 패딩을 무시하면 물론 여백과 테두리도 무시되지 않습니다.

다음 질문은 sub2의 위치가 어디인가요? 위치가 절대값으로 설정되면 sub1이 일반적인 문서 흐름을 오버플로하게 되므로 마치 부모에 속하지 않은 것처럼 떠 있게 됩니다. DreamWeaver에서는 "레이어"라고 부르지만 실제로는 같은 의미입니다. . 이때 sub2는 sub1의 위치를 ​​얻게 되며 해당 문서 흐름은 더 이상 sub1을 기반으로 하지 않고 상위에서 직접 시작됩니다.

(2) sub1에 위치 속성이 있는 상위 개체가 없으면 본문이 위치 지정 개체로 사용되며 브라우저 창에 따라 위치가 지정됩니다.

3.fixed

fixed는 특별한 절대값입니다. 즉,fixed는 항상 본문을 위치 지정 개체로 사용하고 스크롤 막대를 드래그하더라도 위치가 지정됩니다. 그 위치는 변하지 않습니다. background-attachment:fixed

물론 Dreamweaver에서는 지원하지 않는 것 같습니다

4. static

일반적으로 position의 기본값입니다. position 속성이 설정되지 않은 경우에는 문서 흐름이 정상적으로 진행됩니다.

위 내용은 CSS에서의 위치 활용 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.