1、一般来说position定位需要计算好每一个像素,可以在谷歌浏览器或是火狐浏览器中进行调试,动态改变取值。
2、如何采用CSS3新特性的定位,首先检查浏览器的兼容性问题,在没有兼容性问题的情况下,检查用法是否正确。
3、采用表格定位,需要表格属性值的设定。
这位网友你好,绝对定位对性能有影响,所以要尽量少用。再就是有些布局如果用绝对定位效果不是太好,例如一些响应式布局,需要随屏幕大小改变,如果用绝对定位的话是不好实现的。所以不会全部使用绝对定位。搜了几篇老外的文章,提到 svg 的 forginObject 内的 HTML 元素,当应用 CSS3 动画时,动画的 transform-origin 是基于最外层 body 定位的,貌似无解。
个人建议使用 svg 的 SMIL 动画来实现波纹特效,你大屏展示用的话,兼容性啥的应该不是主要问题。写了简单示例代码:
<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>svg 动画示例</title>
<style>
html,
body,
svg {
width: 100%
height: 100%
}
body {
padding: 0
margin: 0
background: #232323
}
.eanimation {
stroke: rgb(181, 255, 255)
box-shadow: inset 0px 0px 8px rgba(29, 146, 226, 0.75)
}
</style>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg">
<g>
<g>
<circle class="eanimation" cx="200" cy="200" r="96" stroke-width="3" fill="transparent"/>
<animateTransform
attributeName="transform"
type="scale"
dur="1s"
values="0.51"
repeatCount="indefinite"/>
</g>
<g>
<circle class="eanimation" cx="200" cy="200" r="96" stroke-width="3" fill="transparent"/>
<animateTransform
attributeName="transform"
type="scale"
dur="1s"
values="0.651"
additive="sum"
repeatCount="indefinite"/>
</g>
<animate attributeName="opacity" begin="0s" dur="1s" from="1" to="0" repeatCount="indefinite"/>
</g>
</svg>
</body>
</html>