>웹 프론트엔드 >CSS 튜토리얼 >순수 CSS로 열 너비 조정을 달성하는 방법

순수 CSS로 열 너비 조정을 달성하는 방법

藏色散人
藏色散人앞으로
2020-07-25 15:59:263144검색

관련 권장사항: "css 비디오 튜토리얼"

Html:

<p class="column">
    <p class="column-left">
        <p class="resize-bar"></p>
        <p class="resize-line"></p>
        <p class="resize-save">
            左侧的内容
        </p>                                            
    </p>
    <p class="column-right">
        右侧的内容
    </p>
</p

css

.column {
    overflow: hidden;
}
.column-left {
    height: 400px;
    background-color: #fff;
    position: relative;
    float: left;
}
.column-right {
    height: 400px;
    padding: 16px;
    background-color: #eee;
    box-sizing: border-box;
    overflow: hidden;
}
.resize-save {
    position: absolute;
    top: 0; right: 5px; bottom: 0; left: 0;
    padding: 16px;
    overflow-x: hidden;
    
}
.resize-bar {
    width: 200px; height: inherit;
    resize: horizontal;
    cursor: ew-resize; 
    opacity: 0;
    overflow: scroll;
    max-width: 500px;//设定最大拉伸长度
    min-width: 200px;//设定最小宽度
}
/* 拖拽线 */
.resize-line {
    position: absolute;
    right: 0; top: 0; bottom: 0;
    border-right: 2px solid #eee;
    border-left: 1px solid #bbb;
    pointer-events: none;
}
.resize-bar:hover ~ .resize-line,
.resize-bar:active ~ .resize-line {
    border-left: 1px dashed skyblue;
}
.resize-bar::-webkit-scrollbar {
    width: 200px; height: inherit;
}

/* Firefox只有下面一小块区域可以拉伸 */
@supports (-moz-user-select: none) {
    .resize-bar:hover ~ .resize-line,
    .resize-bar:active ~ .resize-line {
        border-left: 1px solid #bbb;
    }
    .resize-bar:hover ~ .resize-line::after,
    .resize-bar:active ~ .resize-line::after {
        content: &#39;&#39;;
        position: absolute;
        width: 16px; height: 16px;
        bottom: 0; right: -8px;
        background: url(./resize.svg);
        background-size: 100% 100%;
    }
}

Principle

브라우저의 확장 불가능한 기능을 사용하여 JavaScript 없이 열 너비를 제어할 수 있습니다. overflow:auto元素设置resize

웹킷 브라우저 아래의 스크롤 막대는 사용자 정의할 수 있습니다. 크기 조정 영역의 크기는 스크롤 막대의 크기이므로 전체 확장 영역을 컨테이너 높이로 만들 수 있습니다.

css3 무료 크기 조정 속성 resize

resize 속성의 구문 및 매개변수

resize 속성은 주로 요소의 크기를 변경하는 데 사용되며 주요 목적은 사용자 경험을 향상시키는 것입니다.

resize: none | both | horizontal | vertical | inherit

CSS3에서는 resize 속성에 지정된 값을 다음과 같은 종류로 나눕니다.

    none: 사용자는 요소를 드래그하여 크기를 변경할 수 없습니다.
  • both: 사용자는 요소를 드래그하면서 요소의 높이와 너비를 동시에 수정할 수 있습니다.

  • horizontal: 사용자는 요소를 드래그하여 요소의 너비만 변경할 수 있지만 높이는 변경할 수 없습니다. 요소.

  • vertical: 사용자는 요소를 드래그할 수 있으며 요소의 높이만 변경할 수 있고 요소의 너비는 수정할 수 없습니다.

  • inherit: 상위 요소의 크기 조정 속성 값 상속

위 내용은 순수 CSS로 열 너비 조정을 달성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제