CSS overflow 内容「溢出边界」区块层元素

在于必威体育手机客户端中指定 Html 区块元素 Block Element 的内容超出了指定的边界区块层元素,该如何处理就需要用到 CSSoverflow 属性,它可以控制 Html 元素的内容溢出的行为,例如是否要显示 scroll 捲轴、是否要裁剪内容等,以下是介绍 CSS overflow 的基本用法和常见的应用环境。


例如网页元素区块中使用 float:left 若是没有背景色或边框,可能没发现区块实际的位置

<div style="float: left">float:Left</div>
<div>Content-A</div>
<div>Content-B</div>
<div>Content-C</div>
float: Left
Content-A
Content-B
Content-C

使用 overflow: hidden 的情况

<div style="float: left">float:Left</div>
<div style="overflow: hidden">Content-A</div>
<div style="overflow: hidden">Content-B</div>
<div style="overflow: hidden">Content-C</div>
float: Left
Content-A
Content-B
Content-C

虽然没有背景色或边框的情况下看来差不多,但是 Content-A~B 的内边距 padding-left 就有些差异。
再某些位置计算的情况下或许有差异吧。



overflow 属性值

设定如何处理元素框的显示内容,主要有四个参数分别是 visible, hidden, scroll, auto 当元素框内容超出元素的矩框时要如何显示,可以使用于区块元素 block 与内联元素 inline-block 如需要限制在某个范围内避免影响版面配置时,就可以透过其设定让图片或文字区块在固定的范围内呈现,当超出范围时自动变成捲轴呈现方式。

overflow 属性 属性值显示内容
visible 内容不会被修剪,当超出元素的范围时内容会呈现在元素框之外。
hidden 内容会被修剪,但不会显示捲轴,当超出元素的范围时隐藏内容。
scroll 内容会被修剪,当超出范围时自动变成捲轴呈现方式。
auto 自动选择由浏览器决定如何显示(预设值),当超出范围时自动变成捲轴呈现方式。
overflow-x 可设定「水平」方向,当超出范围时自动变成捲轴呈现方式。(需要内有宽度大于元素框的物件)
overflow-y 可设定「垂直」方向,当超出范围时自动变成捲轴呈现方式。
visible设定如何处理元素框的显示内容,主要有四个参数当元素框内容超出元素的矩框时要如何显示,可以使用于区块元素与内联元素,自动显示捲轴如需要限制在某个范围内避免影响版面配置,或是内容当超出范围时自动变成捲轴呈现方式。
hidden设定如何处理元素框的显示内容,主要有四个参数当元素框内容超出元素的矩框时要如何显示,可以使用于区块元素与内联元素,自动显示捲轴如需要限制在某个范围内避免影响版面配置,或是内容当超出范围时自动变成捲轴呈现方式。
scroll设定如何处理元素框的显示内容,主要有四个参数当元素框内容超出元素的矩框时要如何显示,可以使用于区块元素与内联元素,自动显示捲轴如需要限制在某个范围内避免影响版面配置,或是内容当超出范围时自动变成捲轴呈现方式。
overflow-x设定如何处理元素框的显示内容,主要有四个参数当元素框内容超出元素的矩框时要如何显示,可以使用于区块元素与内联元素,自动显示捲轴如需要限制在某个范围内避免影响版面配置,或是内容当超出范围时自动变成捲轴呈现方式。
overflow-y设定如何处理元素框的显示内容,主要有四个参数当元素框内容超出元素的矩框时要如何显示,可以使用于区块元素与内联元素,自动显示捲轴如需要限制在某个范围内避免影响版面配置,或是内容当超出范围时自动变成捲轴呈现方式。
jQuery使用 jQuery 设定如何处理元素框的显示内容,主要有四个参数当元素框内容超出元素的矩框时要如何显示,可以使用于区块元素与内联元素,自动显示捲轴如需要限制在某个范围内避免影响版面配置,或是内容当超出范围时自动变成捲轴呈现方式。

使用 jQuery Scroll 对元素捲轴的偏移及显示设定

使用 jQuery Scroll 元素捲轴是指使用 jQuery 来控制或侦测网页可滚动元素的捲轴位置。捲轴位置是指元素的内容超出元素的边界时,可以用滑鼠或键盘来移动的区域。网页中捲轴位置可以用 .scrollTop() 或 .scrollLeft() 方法来取得或设定,分别代表捲轴的上侧或左侧的位置,撷取网页元素的捲轴高度、取得网页元素 body 捲动高度的区域,或是指定网页中捲轴位置。

$(window).scroll(function() {
  if ($(this).scrollTop() > 100) {
    console.log("Scroll to Position");
  }
});

mouseenter 滑鼠进入元素范围时处理的程式,类似于 mouseover。

mouseleave 滑鼠离开元素范围时处理的程式,类似于 mouseout。

scroll 当网页中捲轴捲动时处理的程式,依据捲轴捲动位置来处理绑定的事件。

focus 当网页或元素取得焦点时处理的程式。

blur 当网页或元素失去焦点时处理的程式。

unload 当网页离开网页时处理的程式,一般用于如填写了资讯尚未提交 submit 的提示。

resize 当网页大小改变时处理的程式、当版面「浏览器大小」改变时做出符合的方案。

$("匹配元素").on("mouseenter mouseleave", function (event) { // 挷定滑鼠进入及离开事件
  if (event.type == "mouseenter") {
    $(this).css({"overflow-y": "scroll"}); // 滑鼠进入
  } else {
    $(this).scrollTop(0).css({"overflow-y": "hidden"}); // 滑鼠离开
  }
});

jQuery Event 事件型态处理程式

「匹配元素」指定的 DOM 元素。jQuery 事件是指在网页元素中发生的动作可以使用 jQuery 的事件监听方法来绑定事件触发处理函式 jQuery.Event() 提供常见的事件处理方法更简单处理事件函式。


window.resize 触发 Delay 延迟时间

$(function () {
  let delayTimer, w, div = $("div.square-container");

  let Handler = function () {
    w = div.width() / 2;
    div.css({ height: w });
  };

  $(window).on("resize", function () {
    delayTimer && window.clearTimeout(delayTimer);
    delayTimer = window.setTimeout(function () {
      Handler();
    }, 400)
  });

  Handler();
});