웹 프론트엔드 CSS 튜토리얼 CSS_Experience 교환의 Float 관련 기술 문서

CSS_Experience 교환의 Float 관련 기술 문서

May 16, 2016 pm 12:07 PM

Float의 개념은 아마도 CSS에서 가장 혼란스러운 개념일 것입니다. Float는 모든 상황별 요소를 플로팅함으로써 발생하는 가독성 및 사용성 문제로 인해 종종 오해되고 비판됩니다. 그러나 이러한 문제의 근본 원인은 이론 자체가 아니라 개발자와 브라우저의 이론 해석에 있습니다.

플로팅 개념을 주의 깊게 읽어보면 생각보다 복잡하지 않다는 것을 알 수 있습니다. 대부분의 문제는 이전 버전의 IE로 인해 발생합니다(그저 추측일 뿐입니다). 이러한 버그를 알고 있으면 이러한 문제를 피할 수 있습니다.

이러한 문제를 해결하고 부동 소수점 사용에 대한 이전 오해를 바로잡아 보겠습니다. 우리는 수십 개의 관련 기사를 참고하고 귀하가 알아야 할 가장 중요한 기사를 선택했습니다.

플로트에 대해 알아야 할 사항
----------------------------------- - ------------------------------------------------- - ----------------------

  "주변의 이미지와 텍스트의 실천은 아주 오래전으로 거슬러 올라갑니다. 1. 이 기능은 브라우저에 처음 도입되었으며, CSS가 이를 구현하기 위해 float 속성을 사용하는 이유는 Netscape 1.1과 함께 발표된 'Additions to HTML 2.0' 문서에서 참조되며, 부동 요소를 설명합니다. "플로팅 요소의 위치는 여전히 일반적인 문서 흐름을 기반으로 하며, 이후 문서 흐름에서 추출되어 최대한 왼쪽 또는 오른쪽으로 이동됩니다. 플로팅 요소 주위. 요소가 추출될 때 일반적인 문서 흐름에서 여전히 문서 흐름에 있는 다른 요소는 요소를 무시하고 원래 공간을 채웁니다. "

" 요소는 부동된 후 자동으로 회전됩니다. 요소는 현재 행의 왼쪽이나 오른쪽으로 이동할 수 있습니다. 속성은 다음과 같습니다: float: left, float: right 또는 float: none”

“정의된 모든 요소에 대해 이것을 설정해야 합니다. 속성(암시적 너비가 있는 CSS_Experience 교환의 Float 관련 기술 문서 요소가 아닌 경우) 너비가 설정되지 않으면 결과를 예측할 수 없습니다. "

" 예를 들어 부동 요소에는 정의된 너비가 있어야 합니다. 또한 명시적으로 지정되었거나 암시적이든 컨테이너 요소를 마치 플로팅되지 않은 콘텐츠인 것처럼 가로로 채워서 다른 콘텐츠가 이를 둘러쌀 공간이 없으며 일반적인 문서 흐름에서는 다른 요소가 세로 여백입니다. 마지막으로, 플로팅 요소는 일반적인 문서 흐름에서 인접한 블록 수준 요소와 겹칠 수 있습니다(주석: 플로팅 요소는 일반적인 문서 흐름 공간을 차지하지 않으므로 그렇게 이해하지 않는 것이 좋습니다. , 하지만 플로팅의 개념입니다.) "

"가장 먼저 염두에 두어야 할 점은 플로팅 요소는 왼쪽이나 오른쪽으로만 플로팅할 수 있으며 가운데로 플로팅하는 것은 없습니다. 초보자는 실수를 합니다. 가장 기본적인 규칙은 부동 요소가 양쪽으로만 부동할 수 있다는 것입니다. "

" 요소를 부동하게 두면 해당 요소를 만날 때까지 오른쪽이나 왼쪽으로 부동됩니다. 다른 요소를 같은 방향으로 띄우면 이전에 띄운 요소의 가장자리에 닿을 때까지 떠 있게 됩니다. 더 많은 요소를 띄우면 요소가 차례로 배열되지만 곧 공간이 없게 됩니다. 행은 더 이상 부동 요소를 수용할 수 없으며 다음 부동 요소는 다른 행으로 줄바꿈되어 계속 정렬됩니다. "

포함 블록 또는 포함 상자: "컨테이너 요소는 다른 하위 요소를 포함하는 행 수준 또는 블록 수준 요소를 참조합니다. . . . ”   

   “명시적으로 지정하면 플로팅된 요소의 세로 위치는 문서 흐름의 원래 위치에 따라 결정되며 상단은 현재 줄의 상단과 정렬됩니다. 그러나 수평으로는 컨테이너 요소의 가장자리를 향해 최대한 멀리 이동하지만 여전히 컨테이너 요소의 패딩을 따릅니다. 같은 행의 인라인 요소는 부동 요소 주위에 배열됩니다. "

"플로팅 요소는 일반적인 문서 흐름 공간을 차지하지 않기 때문에 플로팅 요소 전후에 위치가 명시적으로 지정되지 않은 블록 수준 요소는 플로팅 요소가 있어야 할 위치를 차지합니다. 존재한 적이 없습니다. 플로팅된 요소 뒤의 줄은 플로팅된 요소에 따라 너비가 줄어듭니다. 부동 요소 앞의 요소는 재배열되어 별도의 행을 차지합니다. (주석: ie와 ff는 이 경우 다르게 동작합니다.)"

"현재 행의 수평 방향에 플로팅 요소를 수용할 공간이 충분하지 않으면 해당 공간이 생길 때까지 다음 행으로 이동합니다. 부동 요소를 수용할 수 있습니다. "

"플로팅 요소는 원본 문서 위치의 상한을 초과할 수 없습니다. 부동 요소의 상단은 현재 행의 상단(또는 현재 행 요소가 없는 경우 이전 블록 수준 요소의 하단 가장자리)과 정렬되어야 합니다. ”

 “플로트 이론을 제대로 이해하려면 CSS에서 라인 박스가 무엇인지 이해해야 합니다. 안타깝게도 행이 무엇인지 설명하려면 먼저 행 수준 요소가 무엇인지 이해해야 합니다.행 수준 요소는 과 같은 비블록 수준 요소를 참조합니다. 행은 행을 구성하는 모든 행 수준 요소를 포함하는 가상 직사각형입니다. 가장 높은 행 수준 요소입니다. ”

 “Div의 모든 열에 float: left를 추가하면 페이지 하단에 바닥글을 두고 싶다면 그렇게 하지 마세요. 그냥 추가하는 한 가장 긴 열은 필요하지 않습니다: 둘 다"

"플로팅 요소를 포함하기 위해 플로팅 요소를 사용하는 것은 잠재적인 단점이 있습니다. 즉, 페이지가 항상 일관된 표시를 유지할 수 있는지 여부는 다음에 따라 달라집니다. 브라우저 구현이 일관성을 유지하는지 여부입니다. 특히 플로트 요소가 더 복잡한 레이아웃의 일부인 경우 더욱 취약해집니다. ”

수레 청소
------------------------- --- ---------------------------------- --- ---------------------

 "플로팅된 요소 뒤의 요소는 자동으로 플로팅된 요소를 둘러쌉니다. 이를 원하지 않으면 이러한 요소에 'clear' 속성을 적용할 수 있습니다. 이 속성에는 4가지 설정이 있습니다: 클리어: 왼쪽, 클리어: 오른쪽, 클리어: 둘 다 또는 클리어: 없음”

의미 없는 추가 태그를 도입하지 않고 플로팅 요소를 정리하는 많은 기술이 있습니다. 아래 3가지가 더 일반적인 방법입니다. ) 플로트 컨테이너 요소 함께 b) 오버플로 사용: 컨테이너 요소에 숨겨진 c) 다음과 같은 CSS 의사 클래스 사용:

이후 "정리 요소를 삽입하는 것은 컨테이너를 만드는 것입니다. 플로팅된 모든 요소를 ​​올바르게 래핑하기 위한 표준 관행은, 그렇게 하면 컨테이너의 아래쪽 가장자리를 '끌어서' 포함된 요소를 감싸는 효과가 있습니다. ”

 “플로트 디자인 기반 레이아웃의 경우 일반적인 문제는 플로트 요소의 컨테이너가 플로트 요소를 포함하도록 자동으로 확장되지 않는다는 것입니다. 모든 부동 요소 주위에 테두리(예: 컨테이너 요소 주위의 테두리)를 추가하려면 브라우저에 컨테이너를 늘리도록 명시적으로 명령해야 합니다. 오버플로 방법을 사용할 수 있습니다. ”

사용:after 우리가 마침표를 삽입하고 속성 {clear:both;}를 설정하기 위해 :after를 사용한다고 상상해 보십시오. 이것이 여러분이 해야 할 전부이지만 아무도 컨테이너의 바닥을 받아들이지 않을 것입니다. 약간의 간격이 있으므로 완벽하게 맞도록 {height: 0;} 및 {visibility: hide;}도 설정해야 합니다.

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

GraphQL 캐싱 작업 GraphQL 캐싱 작업 Mar 19, 2025 am 09:36 AM

최근에 GraphQL 작업을 시작했거나 장단점을 검토 한 경우 "GraphQL이 캐싱을 지원하지 않음"또는

Redwood.js 및 동물 군을 사용하여 이더 리움 앱 구축 Redwood.js 및 동물 군을 사용하여 이더 리움 앱 구축 Mar 28, 2025 am 09:18 AM

최근 Bitcoin의 가격이 20k 달러가 넘는 USD가 최근에 등반되면서 최근 30k를 끊었으므로 Ethereum을 만드는 데 깊이 다이빙을 할 가치가 있다고 생각했습니다.

Leakenty와 함께 자신의 Bragdoc을 만듭니다 Leakenty와 함께 자신의 Bragdoc을 만듭니다 Mar 18, 2025 am 11:23 AM

개발자로서 어느 단계에 있든, 우리가 완료 한 작업은 크든 작든, 개인적이고 전문적인 성장에 큰 영향을 미칩니다.

vue 3 vue 3 Apr 02, 2025 pm 06:32 PM

그것은#039; VUE 팀에게 그것을 끝내는 것을 축하합니다. 나는 그것이 막대한 노력과 오랜 시간이라는 것을 알고 있습니다. 모든 새로운 문서도 있습니다.

CI/CD에 약간 CI/CD에 약간 Apr 02, 2025 pm 06:21 PM

"웹 사이트"는 "모바일 앱"보다 더 잘 맞지만 Max Lynch 의이 프레임이 마음에 듭니다.

브라우저에서 유효한 CSS 속성 값을 얻을 수 있습니까? 브라우저에서 유효한 CSS 속성 값을 얻을 수 있습니까? Apr 02, 2025 pm 06:17 PM

나는 누군가이 매우 합법적 인 질문으로 글을 썼습니다. Lea는 브라우저에서 유효한 CSS 속성 자체를 얻는 방법에 대해 블로그를 작성했습니다. 이는 이와 같습니다.

끈적 끈적한 포지셔닝 및 대시 Sass가있는 쌓인 카드 끈적 끈적한 포지셔닝 및 대시 Sass가있는 쌓인 카드 Apr 03, 2025 am 10:30 AM

다른 날, 나는 Corey Ginnivan의 웹 사이트에서 스크롤 할 때 카드 모음이 서로 쌓이는 것을 발견했습니다.

특이성에 대해 이야기하기 위해 (X, X, X, X)를 사용해 보겠습니다. 특이성에 대해 이야기하기 위해 (X, X, X, X)를 사용해 보겠습니다. Mar 24, 2025 am 10:37 AM

나는 다른 날에 Eric Meyer와 대화를 나누고 있었고 나는 내 형성 시절부터 Eric Meyer 이야기를 기억했습니다. CSS 특이성에 대한 블로그 게시물을 썼습니다

See all articles