css 상용 지식 포인트 정리
9637 단어 위치 지정htmlcssjavascriptjs
BFC
블록 포맷 컨텍스트(block formatting context) 약칭
BFC
: 페이지의 격리된 독립 용기로서 용기 안의 하위 요소는 바깥의 요소에 영향을 주지 않습니다.어떻게 BFC를 트리거합니까?
html
: 최대 BFCposition
를 fixed
또는 absolute
inline-block
,table-block
,table-caption
overflow
의 값은 visible
float
의 값은 none
Css 선택기 우선 순위
margin
속성은 주어진 요소에 대해 네 개의 (상하좌우) 방향의 외곽 거리 속성을 설정합니다.
에 비해 계산된 것이다block
원소에서만 발생합니다. (최대값을 얻습니다)BFC
(예를 들어 오버플로우:hidden,position:absolute 등)border
/padding
auto
일 때.브라우저에서 자동으로 적합한 Margin을 선택해서 적용합니다. (자동으로 남은 공간을 분배합니다.) text-align: center;
// margin auto
margin: 0 auto;
세로 가운데 맞춤
line-height
// vertical-align 、
// /
.center-table {
display: table;
}
.center-table p {
display: table-cell;
vertical-align: middle;
}
원소 가운데(수평 및 수직) 진급
#main{
position: relative;
// ...
}
#center{
position: absolute;
width: 100px;
height: 100px;
left: 50%;
top: 50%;
margin: -50px;
}
절대 포지셔닝 +
margin: auto;
#main{
position: relative;
// ...
}
#center{
width: 100px;
height: 100px;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
position: absolute;
}
#main{
position: relative;
// ...
}
#center{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
flex 가운데 맞춤 (1)
#main{
display: flex;
justify-content: center;
align-items: center;
}
flex 가운데 맞춤 (2)
#main{
display: flex;
// ...
}
#center{
margin: auto;
}
브라우저 css 해석 방법
css
의 해석은 오른쪽에서 왼쪽으로 해석한다CSS 속성 지원 판단
div {
background: red;
background: linear-gradient(90deg, red, yellow)
}
.css
의@supports
를 사용하여 속성 지원 상황을 판단한다 //
@supports (position:sticky) {
div {
position:sticky;
}
}
// : not
@supports not (background: linear-gradient(90deg, red, yellow)) {
div {
background: red;
}
}
// css : and
@supports (display:-webkit-box) and (-webkit-line-clamp:2) and (-webkit-box-orient:vertical) {
p {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
}
CSS.supports('display', 'flex');
2개의 매개 변수가 필요합니다. 그렇지 않으면false로 되돌아갑니다(현재는 IE 브라우저가 지원되지 않습니다).modernizr
var root = document.documentElement; //HTML
for(var key in root.style) {
console.log(key);
}
//
// alignContent
// alignItems
// alignSelf
// alignmentBaseline
// all
// animation
// ...
원소에background 속성이 있을 수 있지만 구체적인 linear-gradinet () 속성 값은 지원되지 않습니다.이럴 때 어떻게 검사해야 하나요?구체적인 값을 원소에 부여하고 이 속성 값이 읽힐 수 있는지 확인하십시오.
var root = document.documentElement;
root.style.backgroundImage = 'linear-gradient(90deg, #888, #ccc)';
if(root.style.backgroundImage) {
//
} else {
//
}
간단한 CSS 속성 지원 캡슐화
페이지에 숨겨진 요소를 사용하여 테스트합니다.
/**
* CSS
* @param [String] property CSS
* @param [String] value
* @return [Boolean]
*/
function cssTest(property, value) {
// CSS && CSS.supports
// CSS.supports('display', 'flex'); 2 , false
// ,
var ele = document.getElementById('test-display-none');
//
if(arguments.length === 1) {
if(property in ele.style) {
return true;
}
//
}else if(arguments.length === 2){
ele.style[property] = value;
if(ele.style[property]) {
return true;
}
}
return false;
}
position 포지셔닝 세부 정보
position: absolute;
@supports
라면 뷰포트에 대한 포지셔닝static
의 none
속성이 있다면 해당 선배 원소에 대한 포지셔닝visibility:hidden、display:none、z-index=-1、opacity:0
부동 지우기
부동 요소는 문서 흐름에서 벗어나 원소를 펼칠 수 없습니다.부동을 제거해야 합니다.
부동 제거 방법
transform
// clearfix
// zoom IE6/7
.clearfix:after {
display: table;
content: " ";
clear: both;
}
.clearfix{
*zoom: 1;
}
// clearfix 【 】
// zoom IE6/7
// :before
.clearfix:before,
.clearfix:after {
display: table;
content: " ";
}
.clearfix:after {
clear: both;
}
.clearfix{
*zoom: 1;
}
clear: both;
overflow: hidden;
(위원소의 실현원리와 같지만low가 많다)clear: both;
: (pixel 픽셀의 줄임말), 모니터 화면 해상도px
: 부원소에 비한em
font-size
: 루트(html)에 비해rem
root-em
: 뷰포트(viewport)의 너비에 따라 정해진 길이는 뷰포트 너비의 1/100위류와 위원소의 작용과 구별
위류: 위류 선택 요소는 현재 요소가 있는 상태를 바탕으로 한다. 또는 요소가 현재 가지고 있는 특성을 바탕으로 한다. 기능은class와 유사하지만 문서 이외의 추상적인 것을 바탕으로 위류라고 한다. (:first-child:link:visitive:hover:focus:lang)
위조원소: 위조원소가 제어하는 내용은 실제적으로 원소와 같지만 그 자체는 원소의 추상화를 바탕으로 문서에 존재하지 않기 때문에 위조원소라고 한다(:first-line:first-letter:befoe:after)
공중번호'전단 진급 과목'에 주목하여 전단을 열심히 배우고 함께 진급하는 것을 환영합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다른 사람의 웹사이트 편집: contenteditable 및 designMode그래도 우리가 그렇게 할 수 있다고 생각하는 것은 멋진 일입니다. 제가 강조하고 싶었던 일종의 관련 API가 실제로 몇 개 있기 때문에 오늘 그것을 가져왔습니다. contenteditable는 "true" 값이 할당...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.