CSS float 속성과 위치의 차이점에 대한 자세한 분석:absolute_Basic Tutorial
1. float 속성은 요소가 부동하는 방향을 정의합니다. 역사적으로 이 속성은 항상 이미지에 적용되어 텍스트가 이미지 주위를 둘러싸도록 했지만 CSS에서는 모든 요소가 부동될 수 있습니다. 부동 요소는 요소 유형에 관계없이 블록 수준 상자를 만듭니다. div는 그 자체로 한 줄을 차지하는 일반적인 블록 수준 요소입니다.
먼저 가장 기본적인 블록레벨 요소들이 어떻게 배열되어 있는지 살펴보겠습니다. html 코드에서는 이를 기반으로 다음 스타일이 적용됩니다.
CSS 코드:
코드 복사
코드는 다음과 같습니다.
.boxBg{
여백: 0 자동;너비:500px;
너비:100px;
높이:50px;
배경색:파란색
}
.box3{
너비:100px;
높이:50px;
배경색:녹색
}
실행 결과:
div는 블록 수준 요소이므로 상자는 수직으로 배열됩니다. 실제 작업에서는 프레임을 수평으로 배열해야 하는 경우가 많습니다. 이를 수행하는 방법에는 두 가지가 있습니다. 첫 번째는 display:inlin-block;
코드는 다음과 같습니다.
.boxBg{
여백: 0 자동;너비:500px;
.box2{
너비:100px;
높이:50px;
배경색: 파란색;
디스플레이:inline-block
}
.box3{
너비:100px;
높이:50px;
background-color:green;
디스플레이:inline-block
}
실행 결과:
중간 공백의 근본적인 이유는 요소 사이의 공백에서 비롯되므로 상위 요소에 fone-size 크기를 설정하면 공백의 크기를 조정할 수 있습니다.
코드는 다음과 같습니다.
.boxBg{
여백: 0 자동;너비:500px;
실행 결과:
마찬가지로 공백을 제거하려면 글꼴 크기:0;
을 변경해야 합니다.
코드는 다음과 같습니다.
.boxBg{
여백: 0 auto;너비:500px;
실행 결과:
이렇게 하면 원하는 레이아웃이 이루어지고 상자 안의 텍스트가 사라집니다. 이는 텍스트의 크기가 간격에 영향을 미친다는 것도 증명합니다. 하위 요소에서 재설정하면 됩니다. 물론 오늘의 초점은 그게 아니다. 동일한 효과 float:left도 쉽게 얻을 수 있습니다.
실행 결과:
요소에 부동 소수점을 추가하면 부동 요소는 상위 요소나 다른 부동 요소의 테두리에 닿은 직후에 표시됩니다. 예를 들어 다음 예에서는 부동 요소의 전체 너비가 상위 요소보다 크면 줄이 줄 바꿈됩니다. 줄이 줄 바꿈되면 이전 부동 소수점이 발견되고 그 뒤에
가 표시됩니다.실행 결과:
inline-block을 사용하면 어떤 결과가 나올까요?
Hasil pelaksanaan:
Pada masa ini, kotak 3 bermula pada baris baharu dan bukannya mengikut kotak 1 (jurang antara 1 dan 2 tidak akan dibincangkan di sini juga berbeza Menggunakan tetapan taip apungan boleh menghasilkan hasil yang berbeza daripada yang dijangkakan, jadi adalah baik untuk menggunakan apungan apabila lebar dan ketinggian kekal tidak berubah Jika ia tidak konsisten, anda perlu melihat reka letak khusus dan menggunakan atribut yang sesuai.
Kod disiarkan di bawah, hanya bahagian yang diubah suai disiarkan, selebihnya kekal tidak berubah, dan struktur kekal tidak berubah.
Apakah hasilnya jika pelampung: kiri kotak3 dialihkan? Mengikut pemahaman, elemen terapung tidak menempati ruang, iaitu bingkai 3 akan mengabaikan bingkai 1, dan bingkai 2 akan dipaparkan terus di sebelah sempadan elemen induk, iaitu bingkai 1 akan meliputi bingkai 3? keputusan?
.box3{
lebar:100px ;
tinggi:50px;
warna latar belakang:hijau;
}
Hasil pelaksanaan:
Mengapakah teks dalam kotak 3 muncul di bawah dan bukannya dilindungi oleh kotak 1? Kemudian lihat kod dan gambar
.box3{
tinggi:50px ;
warna latar:hijau;
}
Hasil pelaksanaan:
Adakah anda nampak perbezaannya? ya. box3 tidak mentakrifkan lebar; Tanpa menentukan lebar, lebar lalai ialah lebar elemen induk, yang bermaksud bahawa pada masa ini, lebar: 500px; , lebar 200px di hadapan kotak 3 diduduki oleh elemen terapung yang Dilindungi, mengapa teks tidak dilindungi dan teks dipicit 200px di belakang elemen terapung?
Elemen terapung tidak akan menduduki ruang blok, jadi kotak tiga ialah 100% daripada lebar bekas induk 500px, tetapi elemen terapung akan menduduki ruang lain, iaitu ruang kotak garisan, dalam istilah awam, ia adalah ruang yang diduduki oleh teks.
Ini juga sebab mengapa teks akan membungkus imej secara automatik selepas ia terapung. Unsur terapung tidak menduduki ruang peringkat blok, tetapi akan menjejaskan teks dan elemen sebaris dalam elemen peringkat blok.
Dalam kes ini, jika anda mahu tiga kotak mempunyai lebar yang sama, anda hanya perlu menukar lebar tiga kotak: 300px
.box3{
lebar:300px ;
ketinggian:50px;
warna latar belakang:hijau;
}
Hasil pelaksanaan:
Sekarang kita telah selesai bercakap tentang terapung asas, mari bercakap tentang masalahnya Walaupun terapung mudah digunakan, ia juga akan menyebabkan banyak masalah dalam amalan. Contohnya:
.boxBg{
jidar: 0 auto;
kedudukan:relatif;
lebar:500px;
sempadan:2px pepejal #ccc;
latar belakang- color:#ccd;
}
.box1{
float:left;
width:100px;
height:50px;
background-color:red;
}
.box2{
float:left;
width:100px;
height:50px;
background-color:blue;
}
.box3{
float: kiri;
lebar:100px;
tinggi:50px;
warna latar:hijau;
}
Hasil pelaksanaan:
Masalah yang sangat biasa, dalam keadaan biasa. Latar belakang kelabu sepatutnya setinggi bingkai, tetapi realitinya sentiasa tidak memuaskan :)
Kita semua tahu bahawa punca keadaan ini adalah disebabkan oleh terapung Ya, ia dikatakan di banyak tempat bahawa unsur terapung akan terlepas dari aliran biasa, jadi unsur-unsur biasa boleh dianggap sebagai unsur terapung. tidak wujud, jadi tidak ada perkara seperti itu di sini Latar belakang dibuka, tetapi pelajar yang membaca dengan teliti akan ingat bahawa ia disebut di atas bahawa elemen terapung tidak akan menjejaskan kotak blok, tetapi akan menjejaskan kotak baris, iaitu teks atau sebaris elemen, sama ada elemen peringkat blok atau elemen sebaris. Malah, saya tidak fikir ada keperluan untuk memikirkan perkara-perkara konsep ini. Menurut pemahaman saya, elemen terapung tidak berada dalam ruang mendatar yang sama dengan elemen peringkat blok, tetapi dalam ruang yang sama dengan elemen sebaris teks, jadi sempadan di sini adalah bersamaan dengan berada di atas latar belakang, jadi ia tidak akan menjejaskan elemen latar belakang. Apa yang biasanya dipanggil membersihkan terapung, Ia tidak bermaksud untuk membuang atribut apungan unsur terapung, tetapi untuk membersihkan unsur terapung di sekelilingnya supaya tidak ada unsur terapung di sekelilingnya, jika anda mahu kotak 3 beralih ke baris kedua, anda tidak boleh menggunakan clear:right; dalam kotak 2. Anda perlu menggunakan clear:left;
dalam kotak 3.box3{
float:left ;
lebar:100px;
tinggi:50px;
warna latar belakang:hijau;
jelas:kiri
}
Hasil pelaksanaan:
ok! Sekarang saya faham perkara ini, mari kita bincangkan tentang cara membuat latar belakang dan bingkai mempunyai ketinggian yang sama Sudah tentu, ini bukan maksudnya. Mari kita bercakap tentang membersihkannya. Mula-mula, mari kita lihat contoh:
.boxBg{
margin: 0 auto;
position:relative;
lebar:500px;
px pepejal ;
background-color:#ccd;
}
.box1{
float:left;
lebar:100px;
tinggi:50px;
: merah latar belakang ;
}
.kotak2{
apung:kiri;
lebar:100px;
tinggi:50px;
warna latar:biru;
kotak {
float:kiri;
lebar:100px;
tinggi:50px;
warna latar:hijau;
}
.jelas{
px lebar > ketinggian:50px;
}
框框1
gt;
框框3
执行结果:
代码如下:
执行结果:这个可能还看不清楚,给clear框里边加几个字试试看
因为clear用了clear:left综上所述,clear左边不能有浮动元素,所以它必须以它必须倦社起中中文到图上的结果,其实还是用一个元素撑开的背景。当然还有其他方法实现,这里主要是讲清楚浮动就好了:)

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











float의 최대값: 1. C 언어에서 float의 최대값은 3.40282347e+38입니다. IEEE 754 표준에 따르면 float 유형의 최대 지수는 127이고 가수의 자릿수는 23입니다. 이런 방식으로 최대 부동 소수점 수는 3.40282347 e+38입니다. 2. Java 언어에서 최대 부동 소수점 값은 3.4028235E+38입니다. Python 언어에서 최대 부동 소수점 값은 1.7976931348623157e+308입니다.

float의 정밀도는 소수점 이하 6~9자리까지 가능합니다. IEEE754 표준에 따르면 float 형식이 나타낼 수 있는 유효 자릿수는 약 6~9자리입니다. 이는 이론상 최대 정밀도일 뿐이며, 부동 소수점 숫자의 반올림 오류로 인해 float 유형의 정밀도가 낮아지는 경우가 많습니다. 컴퓨터에서 부동 소수점 연산을 수행할 때 부동 소수점 숫자의 정밀도 제한으로 인해 정밀도 손실이 발생할 수 있습니다. 부동 소수점 숫자의 정밀도를 향상시키기 위해 double 또는 long double과 같은 정밀도가 더 높은 데이터 유형을 사용할 수 있습니다.

C 언어의 부동 소수점은 단정밀도 부동 소수점 숫자를 나타내는 데 사용되는 데이터 유형입니다. 부동 소수점 숫자는 과학적 표기법으로 표현되는 실수이며 매우 크거나 작은 값을 나타낼 수 있습니다. float형 변수는 소수점 이하 유효숫자 6자리의 값을 저장할 수 있습니다. C언어에서는 부동소수점 숫자를 연산하고 저장하는 데 사용할 수 있습니다. 실수는 정수형과 달리 소수점 이하의 숫자를 표현할 수 있고 소수에 대해 4가지 산술 연산을 수행할 수 있습니다.

일반적인 데이터베이스 부동 소수점 길이는 다음과 같습니다. 1. MySQL의 부동 소수점 유형 길이는 4바이트 또는 8바이트일 수 있습니다. 2. Oracle의 부동 소수점 유형 길이는 4바이트 또는 8바이트일 수 있습니다. 3. SQL Server의 부동 소수점 유형 길이는 다음과 같습니다. 4바이트로 고정됩니다. PostgreSQL에서 float 유형의 길이는 4바이트 또는 8바이트 등이 될 수 있습니다.

float32 바이트는 부호 비트, 지수 비트, 가수 비트를 포함하며 32비트 부동 소수점 숫자를 나타내는 데 사용됩니다. 자세한 소개: 1. 부호 비트(1비트)는 숫자의 부호를 나타내는 데 사용되며 0은 양수를 나타내고 1은 음수를 나타냅니다. 2. 지수 비트(8비트)는 숫자의 지수 부분을 나타내는 데 사용됩니다. 부동 소수점 수, 지수 비트를 통해 부동 소수점 수의 크기 범위를 조정할 수 있습니다. 3. 가수 비트(23비트)는 부동 소수점 수의 가수 부분을 나타내는 데 사용되며 가수 비트는 저장됩니다. 부동 소수점 숫자의 소수 부분. 부호 비트는 부동 소수점 숫자의 부호를 결정하고 지수 비트와 가수 비트는 부동 소수점 숫자의 크기와 정밀도를 공동으로 결정합니다.

float 속성 값에는 왼쪽, 오른쪽, 없음, 상속, 클리어인라인 시작 및 인라인 끝이 포함됩니다. 자세한 소개: 1. 왼쪽, 요소는 왼쪽으로 떠 있습니다. 즉, 요소는 컨테이너의 왼쪽에 최대한 가깝고 다른 요소는 오른쪽에서 요소를 둘러쌉니다. 오른쪽으로 부동합니다. 즉, 요소는 컨테이너에 최대한 가깝게 배치됩니다. 오른쪽에서는 다른 요소가 왼쪽에서 컨테이너를 둘러쌉니다. 3. 기본값은 없음이며, 요소는 부동하지 않고 정렬됩니다. 일반적인 문서 흐름 등에 따라

float와 double의 주요 차이점은 정밀도, 저장 및 계산 속도, 범위, 프로그래밍 언어에서의 사용에 있습니다. 자세한 소개: 1. 정밀도가 다릅니다. Float는 4바이트(32비트)를 차지하는 단정밀도 부동 소수점 숫자인 반면, double은 8바이트(64비트)를 차지하는 배정밀도 부동 소수점 숫자입니다. 저장 및 계산 속도가 다릅니다. , double은 더 많은 공간을 차지하고 값을 저장하는 데 더 많은 저장 공간이 필요합니다. 고성능과 속도가 필요한 애플리케이션에서는 float 유형을 사용하는 것이 더 효율적일 수 있습니다.

부동 레이아웃은 부동 지우기, 요소 겹침 문제, 텍스트 줄 바꿈 문제, 반응형 레이아웃 문제와 같은 문제를 일으킬 수 있습니다. 자세한 소개: 1. 부동 문제를 해결합니다. 부동 레이아웃을 사용하면 부동 요소가 문서 흐름에서 벗어나 부모 컨테이너가 부동 요소를 올바르게 래핑할 수 없게 됩니다. 2. 요소 겹침 문제 여러 요소가 부동 레이아웃을 사용하는 경우 이는 부동 요소가 더 이상 일반적인 문서 흐름 위치를 차지하지 않기 때문입니다.
