css - 剪辑路径总是溢出 :hidden

标签 css clip-path

我做了这个例子:

div {
 -webkit-clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
 clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
 background-color: red;
 width: 150px;
 height: 150px;
 position: relative;
}
ul{
 position: absolute;
 background-color: green;
 left: 30px;
 top: 50px;
}
<div>
 <ul>
   <li>1</li>
   <li>2</li>
   <li>3</li>
   <li>4</li>
   <li>5</li>
   <li>6</li>
   <li>7</li>
   <li>8</li>
   <li>9</li>
   <li>10</li>
  </ul>
</div>

如您所见,有一个包含 10 个数字的列表,但由于剪辑路径属性,div 行为始终为 overflow: hidden。 .

我怎样才能使所有的<ul>可见?

最佳答案

您可以使用 :before:after 伪元素:

div {position: relative}
div * {margin: 0; box-sizing: border-box}

div:after {
  content: "";
  position: absolute;
  -webkit-clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
  background-color: red;
  width: 150px;
  height: 150px;
}

ul {
  position: absolute;
  background-color: green;
  left: 30px;
  top: 50px;
  z-index: 1;
}
<div>
  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
  </ul>
</div>

关于css - 剪辑路径总是溢出 :hidden,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50497694/

相关文章:

html - `high` 中的 `A floating box must be placed as high as possible.` 是什么意思?

css - 在 IE6 中模拟 CSS 的 Firebug 工作流的最佳方法是什么?

css - 剪辑路径 SVG 在 Firefox 中不缩放 - 在其他浏览器中工作

html - CSS 中 Angular 一致的三 Angular 形边

导航选项卡上的 CSS 形状

css - 如何在同一选择器上使用 `&` 和标签

html - CSS/HTML : Add line break to HTML only if screen size < xxx pixels?

html - 使用显示 : table-cell 时,FontAwesome 字形未在 IE 中显示

css - 剪辑路径更改时的悬停过渡

html - 使用剪辑路径的 Chrome 中的子像素渲染问题