GVKun编程网logo

如何从css动画剪辑路径中删除奇怪的边框?(如何从css动画剪辑路径中删除奇怪的边框)

14

本文将带您了解关于如何从css动画剪辑路径中删除奇怪的边框?的新内容,同时我们还将为您解释如何从css动画剪辑路径中删除奇怪的边框的相关知识,另外,我们还将为您提供关于css–Chrome中的奇怪边框

本文将带您了解关于如何从css动画剪辑路径中删除奇怪的边框?的新内容,同时我们还将为您解释如何从css动画剪辑路径中删除奇怪的边框的相关知识,另外,我们还将为您提供关于css – Chrome中的奇怪边框宽度行为 – 浮点边框?、CSS – SELECT元素 – BORDER-RADIUS – Opera显示选择输入后面的边框?因为没有弯曲的边框?、css – Webkit中奇怪的边框不透明行为?、css – 元素的复杂剪辑路径/ SVG背景的实用信息。

本文目录一览:

如何从css动画剪辑路径中删除奇怪的边框?(如何从css动画剪辑路径中删除奇怪的边框)

如何从css动画剪辑路径中删除奇怪的边框?(如何从css动画剪辑路径中删除奇怪的边框)

我有一个带剪辑路径(六边形)的元素伪(:before和:after).

.cssload-cssload-spinner {
  position: relative;
  border: none;
}

.cssload-cssload-spinner:before,.cssload-cssload-spinner:after {
  display: block;
  content: ' ';
  width: 88px;
  height: 88px;
  border: none;
  outline: none;
  clip-path: polygon(50% 0,7% 26%,7% 74%,50% 100%,93% 74%,93% 26%,83% 32%,83% 69%,50% 89%,17% 69%,17% 32%,50% 12%,93% 26%);
}

伪元素用css动画制作动画.我添加动画后会看到starange边框.

borders!!

它不能用border删除:none或outline:none(我不再有任何想法).

我如何删除边框?

例:

.cssload-wrap {
  display: -webkit-Box;
  display: -ms-flexBox;
  display: flex;
  display: -o-flex;
  display: -ms-flex;
  display: -webkit-flex;
  display: -moz-flex;
  Box-pack: center;
  -o-Box-pack: center;
  -ms-Box-pack: center;
  -webkit-Box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -o-justify-content: center;
  -ms-justify-content: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  Box-align: center;
  -o-Box-align: center;
  -ms-Box-align: center;
  -webkit-Box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -o-align-items: center;
  -ms-align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  perspective: 390px;
  -o-perspective: 390px;
  -ms-perspective: 390px;
  -webkit-perspective: 390px;
  -moz-perspective: 390px;
  height: 100vh;
  overflow: hidden;
}

.cssload-cssload-spinner {
  position: relative;
  border: none;
  transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  animation: cssload-wobble 4.59s ease-in-out infinite;
  -o-animation: cssload-wobble 4.59s ease-in-out infinite;
  -ms-animation: cssload-wobble 4.59s ease-in-out infinite;
  -webkit-animation: cssload-wobble 4.59s ease-in-out infinite;
  -moz-animation: cssload-wobble 4.59s ease-in-out infinite;
}

.cssload-cssload-spinner:before,.cssload-cssload-spinner:after {
  display: block;
  content: ' ';
  border: none;
  width: 88px;
  height: 88px;
  outline: none;
  -webkit-clip-path: polygon(50% 0,93% 26%);
  clip-path: polygon(50% 0,93% 26%);
  animation: cssload-spin 1.73s ease-in-out infinite both reverse;
  -o-animation: cssload-spin 1.73s ease-in-out infinite both reverse;
  -ms-animation: cssload-spin 1.73s ease-in-out infinite both reverse;
  -webkit-animation: cssload-spin 1.73s ease-in-out infinite both reverse;
  -moz-animation: cssload-spin 1.73s ease-in-out infinite both reverse;
}

.cssload-cssload-spinner:before {
  background-color: #02baff;
  position: absolute;
}

.cssload-cssload-spinner:after {
  background-color: #4c4c4c;
  animation-delay: -0.86s;
  -o-animation-delay: -0.86s;
  -ms-animation-delay: -0.86s;
  -webkit-animation-delay: -0.86s;
  -moz-animation-delay: -0.86s;
}

@keyframes cssload-wobble {
  0%,100% {
    -webkit-transform: rotateX(8.75deg) rotateY(35deg);
    transform: rotateX(8.75deg) rotateY(35deg);
  }
  50% {
    -webkit-transform: rotateX(35deg) rotateY(-35deg) rotate(180deg);
    transform: rotateX(35deg) rotateY(-35deg) rotate(180deg);
  }
}

@-webkit-keyframes cssload-wobble {
  0%,100% {
    -webkit-transform: rotateX(8.75deg) rotateY(35deg);
  }
  50% {
    -webkit-transform: rotateX(35deg) rotateY(-35deg) rotate(180deg);
  }
}

@keyframes cssload-spin {
  0%,100% {
    -webkit-transform: translateZ(49px) rotateX(14deg);
    transform: translateZ(49px) rotateX(14deg);
  }
  33% {
    -webkit-transform: translateZ(-49px) scale(0.4);
    transform: translateZ(-49px) scale(0.4);
  }
  66% {
    -webkit-transform: translateZ(-49px);
    transform: translateZ(-49px);
  }
}

@-webkit-keyframes cssload-spin {
  0%,100% {
    -webkit-transform: translateZ(49px) rotateX(14deg);
  }
  33% {
    -webkit-transform: translateZ(-49px) scale(0.4);
  }
  66% {
    -webkit-transform: translateZ(-49px);
  }
}
<div>
  <div></div>
</div>

仅适用于chrome http://codepen.io/sattellite/pen/RrZpBB

更新:示例已经没有这个奇怪的边界.解决方案是Joseph Marikle

解决方法

enter image description here

.cssload-wrap {
    display: flex;
    display: -o-flex;
    display: -ms-flex;
    display: -webkit-flex;
    display: -moz-flex;
    Box-pack: center;
    -o-Box-pack: center;
    -ms-Box-pack: center;
    -webkit-Box-pack: center;
    -moz-Box-pack: center;
    justify-content: center;
    -o-justify-content: center;
    -ms-justify-content: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    Box-align: center;
    -o-Box-align: center;
    -ms-Box-align: center;
    -webkit-Box-align: center;
    -moz-Box-align: center;
    align-items: center;
    -o-align-items: center;
    -ms-align-items: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    perspective: 390px;
    -o-perspective: 390px;
    -ms-perspective: 390px;
    -webkit-perspective: 390px;
    -moz-perspective: 390px;
    height: 100vh;
    overflow: hidden;
  }
  .cssload-cssload-spinner {
    position: relative;
    transform-style: preserve-3d;
    -o-transform-style: preserve-3d;
    -ms-transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    animation: cssload-wobble 4.59s ease-in-out infinite;
    -o-animation: cssload-wobble 4.59s ease-in-out infinite;
    -ms-animation: cssload-wobble 4.59s ease-in-out infinite;
    -webkit-animation: cssload-wobble 4.59s ease-in-out infinite;
    -moz-animation: cssload-wobble 4.59s ease-in-out infinite;
  }
  .cssload-cssload-spinner:before,.cssload-cssload-spinner:after {
    display: block;
    content: ' ';
    border-radius: 50%;
    width: 88px;
    height: 88px;
    -webkit-clip-path: polygon(50% 0,93% 26%);
    clip-path: polygon(50% 0,93% 26%);
    animation: cssload-spin 1.73s ease-in-out infinite both reverse;
    -o-animation: cssload-spin 1.73s ease-in-out infinite both reverse;
    -ms-animation: cssload-spin 1.73s ease-in-out infinite both reverse;
    -webkit-animation: cssload-spin 1.73s ease-in-out infinite both reverse;
    -moz-animation: cssload-spin 1.73s ease-in-out infinite both reverse;
  }
  .cssload-cssload-spinner:before {
    background-color: #02baff;
    position: absolute;
  }
  .cssload-cssload-spinner:after {
    background-color: #4c4c4c;
    animation-delay: -0.86s;
    -o-animation-delay: -0.86s;
    -ms-animation-delay: -0.86s;
    -webkit-animation-delay: -0.86s;
    -moz-animation-delay: -0.86s;
  }
  @keyframes cssload-wobble {
    0%,100% {
      transform: rotateX(8.75deg) rotateY(35deg);
    }
    50% {
      transform: rotateX(35deg) rotateY(-35deg) rotate(180deg);
    }
  }
  @-o-keyframes cssload-wobble {
    0%,100% {
      -o-transform: rotateX(8.75deg) rotateY(35deg);
    }
    50% {
      -o-transform: rotateX(35deg) rotateY(-35deg) rotate(180deg);
    }
  }
  @-ms-keyframes cssload-wobble {
    0%,100% {
      -ms-transform: rotateX(8.75deg) rotateY(35deg);
    }
    50% {
      -ms-transform: rotateX(35deg) rotateY(-35deg) rotate(180deg);
    }
  }
  @-webkit-keyframes cssload-wobble {
    0%,100% {
      -webkit-transform: rotateX(8.75deg) rotateY(35deg);
    }
    50% {
      -webkit-transform: rotateX(35deg) rotateY(-35deg) rotate(180deg);
    }
  }
  @-moz-keyframes cssload-wobble {
    0%,100% {
      -moz-transform: rotateX(8.75deg) rotateY(35deg);
    }
    50% {
      -moz-transform: rotateX(35deg) rotateY(-35deg) rotate(180deg);
    }
  }
  @keyframes cssload-spin {
    0%,100% {
      transform: translateZ(49px) rotateX(14deg);
    }
    33% {
      transform: translateZ(-49px) scale(0.4);
    }
    66% {
      transform: translateZ(-49px);
    }
  }
  @-o-keyframes cssload-spin {
    0%,100% {
      -o-transform: translateZ(49px) rotateX(14deg);
    }
    33% {
      -o-transform: translateZ(-49px) scale(0.4);
    }
    66% {
      -o-transform: translateZ(-49px);
    }
  }
  @-ms-keyframes cssload-spin {
    0%,100% {
      -ms-transform: translateZ(49px) rotateX(14deg);
    }
    33% {
      -ms-transform: translateZ(-49px) scale(0.4);
    }
    66% {
      -ms-transform: translateZ(-49px);
    }
  }
  @-webkit-keyframes cssload-spin {
    0%,100% {
      -webkit-transform: translateZ(49px) rotateX(14deg);
    }
    33% {
      -webkit-transform: translateZ(-49px) scale(0.4);
    }
    66% {
      -webkit-transform: translateZ(-49px);
    }
  }
  @-moz-keyframes cssload-spin {
    0%,100% {
      -moz-transform: translateZ(49px) rotateX(14deg);
    }
    33% {
      -moz-transform: translateZ(-49px) scale(0.4);
    }
    66% {
      -moz-transform: translateZ(-49px);
    }
  }

see the outline free image here

css – Chrome中的奇怪边框宽度行为 – 浮点边框?

css – Chrome中的奇怪边框宽度行为 – 浮点边框?

某些流体设计,特别是涉及%-width iFrames的流体设计似乎在Chrome中引起了一些奇怪的四舍五入错误(我已经有版本21)。

This Fiddle演示了这个问题。将边框设置为整数像素值,当您要求时返回的值是比预期值略小的浮点数。

尝试exact same code in CodePen不会产生相同的结果,大概是因为它的iFrame和其他样式没有设置相同的方式。

(我也看到这个行为的基本的宽度和高度属性,虽然我无法复制该部分的问题在jsfiddle。)

这在Firefox或IE8中似乎不是问题。

任何关于什么,特别是引起这种奇怪行为的想法,以及如何解决这个问题,以达到真正的价值观?

剧情增厚。为了摆脱这个问题,我发现超过10px的值似乎不会受到这个问题的影响。

另外,根据@ GionaF的评论,它似乎在Chrome 22中正常工作。

解决方法

要重现您的问题,我必须更改Chrome的缩放级别。将缩放级别更改回100%将其修复。它似乎是一个错误,计算的边框宽度总是小于定义的边框宽度,放大或缩小!

当缩放级别为110%时,您的10px边框的值为10,但125%的边框与3px边框的问题相同。

编辑:firefox有同样的行为!

CSS – SELECT元素 – BORDER-RADIUS – Opera显示选择输入后面的边框?因为没有弯曲的边框?

CSS – SELECT元素 – BORDER-RADIUS – Opera显示选择输入后面的边框?因为没有弯曲的边框?

我在设置歌剧中的选择元素时遇到了麻烦.

会发生什么,是在css中显示应用于此元素的大多数样式都显示在Opera(11.60)中,但由于某种原因,比特也会被遗漏,如框阴影效果和边框半径.

在我看来,opera在这些样式上方显示了select元素,正如我在转换中注意到弯曲边框确实存在,它就在select元素的后面.如下所示,未聚焦时的选择元素似乎没有边框半径效果,但是当焦点应用于元素时,您会在转换中看到边框,然后它再次消失在元素后面.

在IE 9,Firefox 9和最新版本的Chrome中,有问题的select元素几乎都是统一的.总而言之,包括Opera在内,输入元素完全采用了相同的元素样式.

这是HTML:

<divhttps://www.jb51.cc/tag/Box/" target="_blank">Box">
<form method="post" action="'.$_SERVER['PHP_SELF'].'" name="search">
<label for="bizName">Biz Name:</label>
<input name="bizName"type="search" placeholder="Search..." />
<label for="bizCategory">Biz Category:</label>
<select name="bizCategory"onchange="this.form.submit()">
    <option>Choose</option>
</select>
<button type="submit" name="searching"value="Search">Search</button>
</form>
<!-- end .searchBox --></div>

继承页面的CSS:

input,select {
    background: #fcfcfc;
    border: 0px none;
    font: bold 12px Arial,Helvetica,Sans-serif;
    color: #6a6f75;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    text-shadow: 0 2px 2px rgba(0,0.3); 
    -webkit-Box-shadow: 0 1px 0 rgba(255,255,0.1),0 1px 3px rgba(0,0.2) inset;
    -moz-Box-shadow:,0 1px 0 rgba(255,0.2) inset;
    -o-Box-shadow: 0 1px 0 rgba(255,0.2) inset;
    Box-shadow: 0 1px 0 rgba(255,0.2) inset;
    -webkit-background-clip: padding-Box;
    -webkit-transition: all 0.7s ease-out 0s;  /* Saf3.2+,Chrome */
    -moz-transition: all 0.7s ease-out 0s;  /* FF4+ */
    -ms-transition: all 0.7s ease-out 0s;  /* IE10? */
    -o-transition: all 0.7s ease-out 0s;  /* Opera 10.5+ */
    transition: all 0.7s ease-out 0s;
}

input {
    padding: 7px 25px;
    width: 135px;
}

select {
    padding: 7px 10px;
    width: 185px;
}

input:focus,select:focus
{
    background: #6699cc;
    color: #e7f3ff;
    text-shadow:
        -1px -1px 0 #666,1px -1px 0 #666,-1px 1px 0 #666,1px 1px 0 #666;
    -webkit-Box-shadow: 0 1px 0 rgba(255,0 1px 0 rgba(0,0.9) inset;
    -moz-Box-shadow: 0 1px 0 rgba(255,0.9) inset;
    Box-shadow: 0 1px 0 rgba(255,0.9) inset;
}

.bizCategory {
    margin-right: 15px;
}

我不明白为什么Opera会以这种方式做出反应,因为我相信它确实支持W3C规范?

无论如何,我的假设是Opera正在为这个select标签应用某种默认样式.但这只是一个假设.

是否有其他人能够在这方面提供任何意见;或者之前遇到过这个问题的人是否能够解释这里到底发生了什么?

提前感谢您花时间阅读本文!

解决方法

改进了2015年的答案:

我发现我使用的风格选择列表在我们现在所用的时间非常需要 – 所以这里曾经是我迄今为止最好的体验.并且实际上没有任何解决该问题的JavaScript解决方案.您可以使用无序列表并列出元素并对其进行样式化,并使用一些javascript从所选li中获取信息并通过ajax post方法发布.没有任何框架的IE8方法看起来像这样:

var request = new XMLHttpRequest();
request.open('POST','/my/url',true);
request.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
request.send(data);

如果您正在使用框架结帐,则内置选择下方的角度和引导程序.

Angular select来自angular material,你可以根据自己的喜好或自己的风格来设计风格,使用框架javascript我做了同样的事情.

还有Bootstrap UI这是一个适用于各种表格领域的角度框架.

引导

如果您在项目中没有使用角度,我认为引导程序解决它的方式是迄今为止我用过的最好的方式. Bootstrap select

老答案

一般来说,我会说从来没有重新设计一个选择按钮,但无论如何检查它的方式来应对它https://gist.github.com/itsadok/1139558

如果您只需要更新的浏览器,您可以使用它,并像其他任何对象一样设置样式:

-webkit-appearance: none;
   -moz-appearance:    none;
   appearance:         none;

看一些有关它的东西HERE

或者我会去寻找一个javascript解决方案那里有很多人已经完成它并像这样分享:adam.co/lab/jquery/customselect或者这个bulgaria-web-developers.com/projects/javascript/selectbox或者像我在j1和li的jquery插件构建我自己

在你的问题中,你甚至可以选择像“ul& li”这样的菜单结构,点击类似于THIS FIDDLE的jquery调用

只需从“.yourtextholder”中取出文本并发送到网址

css – Webkit中奇怪的边框不透明行为?

css – Webkit中奇怪的边框不透明行为?

我一直在测试带有不透明度的边框,而Webkit似乎有一种奇怪的行为.

这是我的代码

<style>
div{
    position: relative;
    width: 300px;
    height: 300px;
    background: #00f;
}
span{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 10px solid rgba(255,255,0.5);
}
</style>
<div>
    <span></span>
</div>

你可以测试它here.在Firefox中你会得到预期的:一个10px的白色内边框,在div周围有50%的不透明度,但是,至少Chrome(但我怀疑Webkit)似乎与边框的边界重叠(不知何故,这使得感).而且我认为它没有意图,因为它似乎重叠了!

这是一个错误还是一个预期的功能?

解决方法

Chrome问题列表中的错误(猜猜是什么,无人问津):
http://code.google.com/p/chromium/issues/detail?id=36475&q=transparent%20border%20color&colspec=ID%20Stars%20Pri%20Area%20Feature%20Type%20Status%20Summary%20Modified%20Owner%20Mstone%20OS

看看规范,这确实看起来像一个bug:
http://www.w3.org/TR/css3-background/#box-shadow-samples

这些示例也有一个带alpha的内边框,并显示类似Firefox的行为.

css – 元素的复杂剪辑路径/ SVG背景

css – 元素的复杂剪辑路径/ SVG背景

我需要创建如下图所示的内容:

哪里:

>黑色背景代表页面上的元素,例如标题
>青色背景代表黑色背景下的整体背景
>黑色背景元素必须像单个元素一样对待,因为它上面会有一个图案叠加,它必须保持在黑色元素的边框内,而不是在黑色元素的外部显示

用一些伪元素创建黑色元素是非常容易的,但是在它之上的那个模式已经使整个事物陷入停顿.

我一直在阅读剪辑路径道具.但我不确定我是否能够像这样创建一个复杂的剪辑(或者对我来说似乎很复杂).

整个过程将在iOS应用程序上使用,到目前为止,这个剪辑路径属性似乎与它兼容.
另外要提到的是,黑色元素将具有固定的高度,但必须是其父级的100%宽度.
我认为我会使用svg来逃避,但是因为它需要一个固定的高度,所以当它伸展时它似乎是扭曲的.

更新:
右侧必须保持相同的宽度,我想可能在< g>内部使用两个svgs.标签和绝对位置,一个是流动的,另一个是固定的宽度.但是,我不确定过滤器是否会覆盖它们,或者过滤器是否可以完全应用于< g>.标签,在svg内

以下SVG示例:

body {
  background: cyan;
}
svg {
  min-width: 100%;
  height: 80px;
}
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 452 170" preserveAspectRatio="none">
  <rect x="1" y="14" width="438" height="142" />
  <path d="M0 0v170h452V0H0zM448 166H4V4h444V166z" />
  <rect y="14" width="438" height="142" />
</svg>

任何提示或指示非常感谢!

解决方法

可能是一个更好的解决方案与掩蔽?
#test {
  font-size: 100px;
  position: relative;
  display: inline-block;
  margin: 40px;
}

#test:after {
  content: "";
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  z-index: -1;
  background: repeating-linear-gradient(45deg,lightblue,tomato 100px);
  -webkit-mask-image: linear-gradient(red,red),linear-gradient(red,linear-gradient(transparent,transparent);
  -webkit-mask-size: 5% 100%,5% 100%,100% 5%,80% 80%;
  -webkit-mask-position: left top,right top,center top,center bottom,center center ;
  -webkit-mask-repeat: no-repeat;
}

body {
  background-color: lightgreen;
}
<div id="test">Transparent frame</div>

固定宽度的方法

用固定值(以像素为单位)替换边框宽度的尺寸.使用calc作为内部矩形.

body,html {
    width: 90%;
  position: relative;
}

#test {
  font-size: 100px;
  position: relative;
  display: inline-block;
  margin: 40px;
  width: 100%;
  height: 40%;
}

#test:after {
  content: "";
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  z-index: -1;
  background: repeating-linear-gradient(45deg,transparent);
  -webkit-mask-size: 10px 100%,10px 100%,100% 10px,calc(100% - 40px) calc(100% - 40px);
  -webkit-mask-position: left top,center center ;
  -webkit-mask-repeat: no-repeat;
}

body {
  background-color: lightgreen;
}
<div id="test">Transparent frame</div>

一个椭圆的例子

#test {
  font-size: 100px;
  position: relative;
  display: inline-block;
  margin: 40px;
  border-radius: 50%;
}

#test:after {
  content: "";
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  z-index: -1;
  border-radius: 50%;
  background: repeating-linear-gradient(45deg,tomato 100px);
  -webkit-mask-image: radial-gradient(ellipse,red 55%,transparent 56%,transparent 65%,red 66%);
}

body {
  background: lightgreen;
}
<div id="test">Transparent frame</div>

我们今天的关于如何从css动画剪辑路径中删除奇怪的边框?如何从css动画剪辑路径中删除奇怪的边框的分享就到这里,谢谢您的阅读,如果想了解更多关于css – Chrome中的奇怪边框宽度行为 – 浮点边框?、CSS – SELECT元素 – BORDER-RADIUS – Opera显示选择输入后面的边框?因为没有弯曲的边框?、css – Webkit中奇怪的边框不透明行为?、css – 元素的复杂剪辑路径/ SVG背景的相关信息,可以在本站进行搜索。

本文标签: