-
Notifications
You must be signed in to change notification settings - Fork 329
[注解] [204] 边框内圆角 #33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
网友 @KeithChou 提问:
你挺细心的,书中的写法确实存在这个问题。 解决思路应该是这样的:我们只要把投影和描边 “缩” 回到元素自身的范围内,那 “边框” 部分就可以响应鼠标的交互了。幸运的是,投影和描边确实都可以做到这一点:
为了证明这个思路是可行的,我特意写了一个 在线 demo。如果你有兴趣,也不妨写一个试试看! |
把box-shadow 和 outline-offset 设置相同的值然后在缩到容器当中确实扩大了点击热点,不过边角外直角还是点击不到..不过这问题不大了。感谢老师的回复。学到知识了。另外我在平行四边形中skew() 也遇到类似的问题,希望老师能抽空解决。感谢老师... |
暂时没有时间细想,你可以尝试用其它方法来实现平行四边形,比如 |
@cssmagic 遇到一个CSS 问题,请问一下,如下图处的圆角如何处理好呢?暂时没有想法,感谢。 |
这种特殊形状用常规的 CSS 方法肯定做不到了。用多个元素来拼,一来不划算,二来很难拼得准。没细看 CSS Shapes 加上 drop-shadow 滤镜能不能做到,你可以尝试一下。如果要考虑兼容性,建议用图片(位图或 SVG)。 |
魔法哥你好 border-radius 50% 为什么是椭圆呢。 能不能详细解释一下呢 |
@MJingv 元素的宽高要是一致的时候在应用 border-radius 50% 的时候才是圆形,宽高不一致的时候就是椭圆 |
现在 outline 也围绕 corner 来了,不再是规则的矩形,那么问题来了,还有没有一种元素的 hack 方法呢?看来是只能两个元素实现了 😕 |
@tianzhich |
哈哈你刚说完,平行四边形那边也提到了 |
花絮与注解
第 26 页 · 第四段
此时描边和投影在理论上所占的范围应该是完全一样的,这里所说的 “渲染异常” 指的是投影可能会溢出描边的范围。
出现这种渲染异常的底层原因在于,描边与投影的绘制原理不同:描边是完全规则的矩形,完全对齐像素;而具有扩张效果的投影需要由元素的原始形状扩散而成。
对浏览器来说,前者更像是一种基于光栅的绘图算法,而后者更像是一种矢量算法。因此,在对待非整数像素值时,两者的行为可能存在差别——前者在渲染前会对像素长度值取整,而后者可能会接受非整数的长度值(在计算出矢量路径之后光栅化),从而引发两者之间的渲染误差。
如果浏览器的显示比例处于缩放的情况下,或者显示器是视网膜屏幕(由多个物理像素显示一个逻辑像素的高精度显示设备),又或者元素处于 CSS 动画之中,通常比较容易出现这种渲染误差。
交流与答疑
(暂无)
The text was updated successfully, but these errors were encountered: