IT技术博客大学习 共学习 共进步
首页 / 小黑路人
IT 2016-02-16 22:21:04 / 累计浏览 7,220

-webkit-margin-start 属性

这篇笔记讲清楚了 WebKit 浏览器下的一个 CSS 属性 `-webkit-margin-start` 的核心作用:它本质上是控制元素在书写方向“开始”一侧的外边距。对于绝大多数从左到右排版的页面来说,它等同于我们熟悉的 `margin-left`。 文章直接给出了简洁的语法和参数说明。这个属性接受各种长度单位(如 px、em、rem 等),也能设置为 `auto`。一个关键点是,它会随着书写方向自动调整:在从左到右(LTR)的文档中设置左侧边距,而在从右到左(RTL)的文档中则控制右侧边距,这使得它在处理多语言布局时非常灵活。 文章还提到了兼容性细节,指出它主要支持 Safari 和 iOS 浏览器,并且早期版本曾使用 `-khtml-margin-start` 这个名称。最后通过一个简单的代码示例和效果图,直观展示了设置不同值后的盒子边距效果,帮助读者快速理解其用法。 这个属性是理解 CSS 逻辑属性(Logical Properties)的一个小切口,关注它能帮你写出更具适应性的布局代码。

IT 2015-07-21 23:36:13 / 累计浏览 1,920

-webkit-border-radius圆角属性

这篇文章聚焦于 CSS 中的 `-webkit-border-radius` 圆角属性,详细拆解了其语法、参数和实际应用中的注意事项。作者从基础语法讲起,说明了属性值可以是单个长度(形成四角相等的圆角),也可以是“水平半径 / 垂直半径”的形式(形成椭圆角)。 文章特别强调了使用的细节和兼容性问题。例如,该属性支持动画;参数取值范围广泛,支持各种长度单位;并且提醒读者注意书写方向(如 `tb-rl`)对参数顺序的影响,在某些浏览器中顺序会反转。此外,作者指出这份参考手册主要针对 `-webkit` 内核浏览器,如果需要兼容其他内核,还需查阅其他资料。 文中还穿插了一个在 Chrome 开发版中遇到的有趣 bug,并附有简单的代码示例,让讲解更具体。整体而言,这是一篇实操性很强的属性指南,为前端开发者提供了清晰的使用参考。

IT 2015-02-07 21:05:04 / 累计浏览 2,120

css3:背景属性background-origin/clip详解

这篇文章深入讲解了CSS3中两个容易被混淆但十分实用的背景属性:背景裁剪(background-clip)与背景起点(background-origin)。作者从边框、填充和内容三个盒子模型的角度,清晰剖析了它们如何分别控制背景的“绘制区域”与“定位起点”。 文章指出,`background-clip` 负责决定背景(颜色或图片)最终呈现的边界,相当于对背景画布进行裁剪;而 `background-origin` 则决定了背景图片从哪个参考点开始铺排。虽然两者都使用 `border-box`、`padding-box` 和 `content-box` 这三个相同的属性值,但表达的含义截然不同。作者通过“给桌子铺桌布”的生动比喻,帮助读者理解 `origin` 作为铺布起点的含义。 文中还特别强调了两个实用注意点:一是当使用 `background-attachment:fixed` 时,`origin` 属性将失效;二是在元素有非零边框宽度时,结合不同的 `clip` 和 `origin` 设置,会导致背景图片的可见区域产生差异。文章最后坦言,这两个属性在实际开发中或许不常用,但在设计上确实需要精细控制背景与边框关系的场景下,它们便能派上用场。

IT 2015-02-03 21:53:10 / 累计浏览 2,280

table-cell的手机应用场景

这篇讲的是如何利用一个有点“过气”的 CSS 属性 `display: table-cell` 来解决移动端开发中棘手的垂直居中问题。作者从一篇老文章出发,重新审视了 `table-cell` 在当前移动场景下的价值。 文章先盘点了传统的垂直居中方案,如 `position` 配合负 `margin`,虽然兼容性好但必须预先知道元素高度,内容超出时容易“走光”。作者指出,这些方案在需要内容自适应垂直居中的移动 H5 页面里显得力不从心。 核心方案在于利用 `table-cell` 模拟表格单元格的行为。只需父元素设为 `display: table`,子元素设为 `display: table-cell` 并加上 `vertical-align: middle`,就能让内容在容器内完美垂直居中,无需知晓具体高度。作者还分享了一个关键的踩坑经验:必须避免在 `table-cell` 元素上同时使用 `position` 定位,否则效果会失效。 总的来说,这篇文章为移动端,特别是单屏滚动的 H5 活动页开发,提供了一个轻巧、可靠的垂直居中思路,非常适合那些对布局高度自适应有要求的场景。

IT 2015-01-24 23:46:35 / 累计浏览 2,700

再说iconfont和font-face

这篇讲的是CSS3字体属性中一个让人“蛋疼”又离不开的话题:iconfont和@font-face。作者从网页内容的主体——文字说起,直指@font-face这个能让你彻底摆脱用户系统字体限制的关键属性。文章没有停留在浅层介绍,而是深入拆解了@font-face的语法,逐项解释了font-family、src、unicode-range等参数,并用一个清晰的表格展示了IE、Firefox、Chrome等主流浏览器对不同字体格式(如.eot, .ttf, .woff)的支持情况。更关键的是,它厘清了@font-face与iconfont之间相辅相成的关系:一个负责引入自定义字体,一个负责将图标集打包成字体以便调用。文中提供的兼容性写法代码,对处理多浏览器环境下的字体加载问题直接提供了实用参考。

IT 2015-01-24 23:45:27 / 累计浏览 6,860

webapp网页调试工具Chrome Devtools

这篇讲的是如何告别只能拉窄电脑屏幕来模拟手机页面的“土办法”,转用Chrome DevTools中专业的移动设备调试功能。文章指出,简单拉宽电脑窗口并不能真实还原手机屏幕的显示效果,因为手机采用“每英寸像素点”衡量清晰度,与PC端标准不同。 作者将焦点引向Chrome DevTools的“webapp调试界面”,详细拆解了其中几个核心功能。比如,通过“Device”选项可以直接选择iPhone 6等具体设备进行预览,无需手动调整浏览器窗口;“Network”面板允许模拟从离线、GPRS到WiFi的各种网络环境及其延迟,帮助开发者针对不同地区网络条件优化页面加载速度;此外,文章还解释了“分辨率”、“device pixel ratio”(设备像素比)以及视图比例(viewport scale)等关键参数的设置与含义。 对于需要精准还原移动端设计稿、或希望在不同网络条件下测试性能的前端开发者而言,掌握这些调试工具是提升工作效率和页面质量的关键一步。

IT 2015-01-17 00:07:51 / 累计浏览 4,300

解决IOS点击链接触发的颜色块

这篇讲的是移动端开发中一个常见的视觉“坑”:在iOS设备上,手指点击链接时系统默认触发的半透明灰色高亮块,有时会影响页面设计的整洁度。作者从实际项目出发,通过对比淘宝、京东等主流网站,发现它们巧妙地避免了这一现象。 问题的根源在于iOS Safari的一个默认行为,而非CSS样式问题。作者通过审查元素,最终定位到WebKit的私有CSS属性`-webkit-tap-highlight-color`。通过将该属性的Alpha通道(即RGBA颜色值的最后一个参数)设为0,就可以完全禁用这个点击高亮效果。 文章进一步解释了该属性的完整用法,包括它支持的系统版本、适用的元素范围,以及如何利用RGBa颜色值来定义高亮色或彻底隐藏它。最后,作者还贴心地分享了苹果官方的Safari CSS参考文档,为需要在iOS上进行深度Web开发的同学提供了进一步探索的路径。

IT 2015-01-14 13:34:33 / 累计浏览 2,720

css3文字阴影属性text-shadow

这篇技术文章聚焦于CSS3的text-shadow属性,系统讲解了其语法、参数及与box-shadow的异同。作者从回顾熟悉的box-shadow入手,详细拆解了text-shadow的每一个值:包括可选的颜色(color)、必需的水平与垂直偏移量(offset-x, offset-y)以及可选的模糊半径(blur-radius),并特别说明了多个阴影叠加时的层级覆盖规则——与CSS类选择器不同,阴影列表遵循“先书写的在底层”的原则。 文章清晰对比了两者的关键差异:text-shadow没有inset内阴影选项,但在处理半透明文本时,不会像box-shadow那样裁剪阴影形状。作者指出,两者共同的特点是都不影响文档布局。在应用层面,文章展示了如何利用不同颜色与偏移的阴影组合,创造出凹凸立体文字效果,甚至模拟表单按钮的点击状态变化,并附上了可供体验的在线Demo与效果截图。 整体而言,文章通过具体参数解析与实用案例,帮助开发者掌握text-shadow的灵活用法,为页面文字增添视觉深度提供了明确的技术指引。

IT 2015-01-13 22:56:38 / 累计浏览 1,480

引入css外部样式表

这篇讲的是一个看似基础却让不少前端开发者栽跟头的问题——CSS外部样式表的引入与缓存。作者从在微信端调试样式,修改后却无法实时看到更新的实际踩坑经历出发,深入探讨了路径选择、缓存控制等关键细节。 文章清晰地对比了相对路径与绝对路径在实际项目中的优劣,明确指出了项目上线时应优先使用绝对路径,以提升索引效率、有利于SEO和外链权重。更核心的部分聚焦于缓存问题,详细解释了浏览器(尤其是微信)缓存旧版CSS的机制,并通过分析淘宝和Facebook的实践案例,给出了具体的解决方案:为URL添加版本号参数(如 `?t=20150105`)或使用文件哈希值,可以有效强制浏览器更新资源。 作者最终总结出几条实用建议:少用相对路径、多用绝对路径、WebApp引入CSS时最好带版本号、并合理利用缓存机制(如304状态码)。对于前端初学者或曾为样式更新不生效而困惑的开发者而言,这些基于真实场景的总结和对比,提供了非常直接的参考和避坑指南。

IT 2015-01-12 22:55:35 / 累计浏览 2,000

css3中的几何图形shape研究

这篇技术文章深入探讨了CSS3中一个颇为强大但可能被忽视的属性:`shape-outside`。作者开门见山地指出,传统CSS布局中,浮动元素周围的文字总是沿着矩形框排列,而`shape-outside`正是为了突破这一限制,允许文字沿着圆形、椭圆、多边形等自定义几何轮廓进行环绕排布。 文章清晰地梳理了该属性支持的四种基本形状函数:`inset()`(定义内凹区域)、`circle()`(定义圆形)、`ellipse()`(定义椭圆形)以及灵活性最高的`polygon()`(定义任意多边形)。通过具体的代码示例和效果对比图,详细解释了每个函数的参数含义,例如`circle()`中`closest-side`与`farthest-side`半径的区别,以及如何使用`polygon()`配合坐标点来创建复杂的五边形环绕效果。 不过,作者也坦率地指出了这个属性的现实局限:它目前只能应用于设置了`float`属性的元素,并且浏览器兼容性并不理想。因此,文章认为其最典型的应用场景是处理浮动图片(如头像)与周围文字的排版,能让图文混排效果更生动。 尽管实用性受限于兼容性,但文章最后强调,学习`shape-outside`有助于更深入地理解浮动模型和CSS布局逻辑。它展示了Web技术如何为设计师提供更精细的控制力,即便这项技术尚未全面普及,其背后的原理依然值得前端开发者了解。

IT 2015-01-12 22:54:34 / 累计浏览 2,500

关于webapp中的文字单位的一些捣腾

这篇文章探讨的是移动WebApp开发中一个经典纠结:文字单位该用px、em、百分比还是rem?作者没有停留在理论争论,而是用实测对比给出了直观结论。 作者从PC与移动端对文字尺寸需求的差异出发,分别在未设置viewport和设置了`width=device-width`的情况下,对这几种单位进行了实测。关键发现是:当正确设置了viewport使布局宽度等于设备宽度后,不同单位计算出的最终显示大小趋于一致,px、em和rem在视觉效果上已无本质区别。 文章的核心价值在于澄清了一个常见误区,并提供了清晰的实践路径。它建议开发者可以优先遵循设计稿的px数值进行输出,后期根据实际设备再微调。同时,考虑到代码维护和未来兼容性,作者推荐使用px与rem作为首选单位,尤其强调了为html根元素设定基础字体大小的重要性。 因此,这篇文章为前端工程师在移动端文字排版上提供了一份基于实测的决策参考,帮助大家跳出单位选择的“内耗”,将精力集中在更统一、可控的工程实践上。

IT 2015-01-11 23:24:03 / 累计浏览 2,720

css透明度的一些兼容测试

这篇讲的是前端开发中一个常见的“坑”:如何让CSS透明度效果兼容到IE8及以下浏览器。作者从接手一个外包项目时遇到的真实问题说起——原本用`opacity`属性实现的半透明遮罩层,在旧版IE上直接变成了不透的黑色色块,完全破坏了页面设计。 文章深入分析了问题根源:标准`opacity`会作用于整个元素及其所有内容,而IE的私有滤镜`filter: Alpha(opacity=...)`行为有所不同,且两者混合使用时在IE9等版本中会产生冲突。作者详细展示了三种解决方案的演进:先用`filter`配合`rgba`背景色打底;再针对IE9的异常表现,用条件注释单独处理;最后尝试用媒体查询hack(如`@media screen\9`)来更精简地分版本控制样式。 过程中,作者也坦诚讨论了各种方案的局限,比如`filter`在IE6下可能失效,以及hack写法对维护性的潜在影响。文末的建议很实在:除非对设计还原度有极致要求,否则应谨慎使用这些浏览器特有的hack。整篇文章从实际故障出发,逐步拆解,对需要处理多端兼容的前端开发者有很具体的参考价值。

IT 2015-01-04 23:15:00 / 累计浏览 27,040

css3:box-shadow边框阴影属性值详解

这篇讲的是CSS3中`box-shadow`属性的完整用法。作者从自己U盘损坏、资料丢失的经历说起,引出了重新整理这篇属性详解文章的缘由。 文章核心围绕`box-shadow`展开,将其定义为“CSS模型边框阴影”,并详细拆解了其W3C规范中的每个参数值。从可选的`inset`(内阴影)开始,到必须设置的水平(`offset-x`)与垂直(`offset-y`)偏移量——作者用数轴坐标系进行了形象比喻。接着解释了`blur-radius`(模糊半径,值越大阴影越模糊)和`spread-radius`(扩展半径,正值扩大阴影,负值缩小)这两个控制阴影形态的关键值。 值得注意的是,文章不仅列出了属性语法,还提供了可交互的代码示例,直观展示不同参数组合产生的视觉效果。作者在序言中强调的“实践是检验真理的唯一标准”的学习态度,也贯穿了这篇注重实操的教程中。

IT 2015-01-04 22:57:01 / 累计浏览 6,440

css3-animation制作逐帧动画

这篇讲的是作者从对CSS3 `animation`属性的好奇出发,深入解析了这个强大的动画组件。文章不仅拆解了`animation`的八个子属性(如名称、时长、缓动函数等),还结合CanIUse图表清晰对比了其在不同浏览器的支持情况——IE完全不支持,而Firefox 32+和Opera已无需私有前缀,Chrome、Safari等则需添加-webkit-等前缀。 核心亮点在于,作者讲解了如何利用`animation`配合`@keyframes`关键帧来实现类似GIF的逐帧动画效果,而非单纯依赖图片序列。文中通过“奔跑的小人物”这个直观的Demo,展示了具体实现思路。这对于想用纯CSS制作复杂动效、同时需要兼顾多浏览器兼容性的前端开发者来说,提供了清晰的实现路径和实用参考。