网站建设方案的所属行业是,软件开发就业前景好吗,国外做外贸的小网站,湖南酒店网站建设目录 1、CSS的盒模型2、CSS选择器及其优先级3、隐藏元素的方法有那些4、px、em、rem的区别及使用场景5、重排、重绘有什么区别6、水平垂直居中的实现7、CSS中可继承与不可继承属性有哪些8、Sass、Less 是什么#xff1f;为什么要使用他们#xff1f;9、CSS预处理器/后处理器是… 目录 1、CSS的盒模型2、CSS选择器及其优先级3、隐藏元素的方法有那些4、px、em、rem的区别及使用场景5、重排、重绘有什么区别6、水平垂直居中的实现7、CSS中可继承与不可继承属性有哪些8、Sass、Less 是什么为什么要使用他们9、CSS预处理器/后处理器是什么为什么要使用它们10、CSS3新特性11、rem是如何做适配的12、移动端兼容性问题13、display的属性值及其作用14、display的block、inline和inline-block的区别 1、CSS的盒模型 2、CSS选择器及其优先级 对于选择器的优先级 内联样式1000 id 选择器100 类选择器、伪类选择器、属性选择器10 标签选择器、伪元素选择器1 注意事项 !important声明的样式的优先级最高 如果优先级相同则最后出现的样式生效 继承得到的样式的优先级最低 通用选择器*、子选择器和相邻同胞选择器并不在这四个等级中所以它们的权值都为 0 样式表的来源不同时优先级顺序为内联样式 内部样式 外部样式 浏览器用户自定义样式 浏览器默认样式。
3、隐藏元素的方法有那些 4、px、em、rem的区别及使用场景 5、重排、重绘有什么区别 6、水平垂直居中的实现 7、CSS中可继承与不可继承属性有哪些 8、Sass、Less 是什么为什么要使用他们 9、CSS预处理器/后处理器是什么为什么要使用它们 10、CSS3新特性 11、rem是如何做适配的 主要功能是实现响应式布局的适配确保在不同设备和屏幕宽度下页面的布局和字体大小能够自适应。通过动态设置 rem单位和检测设备特性代码可以解决高清屏上的 1px 边框问题并确保布局的一致性。 (function flexible(window, document) {// 首先是一个立即执行函数执行的时候传入参数window和documentvar docEl document.documentElement; // 返回文档的root元素即根元素htmlvar dpr window.devicePixelRatio || 1; // 获取设备的dpr即当前设置下物理像素与虚拟像素的比值// 调整body标签的fontSize// 设置默认字体的大小默认字体的大小继承自bodyfunction setBodyFontSize() {if (document.body) {// 如果document.body存在则直接设置body的字体大小document.body.style.fontSize (12 * dpr) px;} else {// 如果document.body不存在则等待DOM加载完成后设置document.addEventListener(DOMContentLoaded, setBodyFontSize);}}setBodyFontSize(); // 调用函数设置body的字体大小// 设置 1rem viewWidth / 10function setRemUnit() {var rem docEl.clientWidth / 10; // 计算rem的值将viewportWidth分为10份docEl.style.fontSize rem px; // 设置html元素的字体大小为rem}setRemUnit(); // 调用函数设置rem单位// 在页面resize或者pageshow时重新设置remwindow.addEventListener(resize, setRemUnit); // 窗口大小变化时重新设置remwindow.addEventListener(pageshow, function (e) {if (e.persisted) { // 某些浏览器重新展示页面时走的是页面展示缓存setRemUnit(); // 重新设置rem单位}});// 检测0.5px的支持支持则root元素的class有hairlines// 解决1px在高清屏多像素问题if (dpr 2) { // 如果设备像素比大于等于2var fakeBody document.createElement(body); // 创建一个虚拟的body元素var testElement document.createElement(div); // 创建一个测试元素testElement.style.border .5px solid transparent; // 设置测试元素的边框为0.5pxfakeBody.appendChild(testElement); // 将测试元素添加到虚拟body中docEl.appendChild(fakeBody); // 将虚拟body添加到文档中if (testElement.offsetHeight 1) { // 检测测试元素的高度是否为1docEl.classList.add(hairlines); // 如果支持0.5px则为html元素添加hairlines类}docEl.removeChild(fakeBody); // 移除虚拟body}
})(window, document);12、移动端兼容性问题 13、display的属性值及其作用 14、display的block、inline和inline-block的区别