资讯专栏INFORMATION COLUMN

《CSS世界》中提到的实用技巧

oliverhuang / 982人阅读

摘要:一部分没录入的技巧原因是部分属性将被标准废弃,如。正确的滚动底部留白方式如果使用留白,在和不会显示。正方观点观点观点反方观点观点正确的块级元素右对齐值对于来讲是占用剩余的空间。

以下技巧的具体原理和解释请支持张老师的《CSS世界》,在这里不做展开。

一部分没录入的技巧原因是部分属性将被标准废弃,如:clip。还有一部分是因为个人觉得兼容性不好,而且CSS3的一些特性可以弥补,比如text-align:justify;,完全可以用flex布局实现

应网友要求,加入部分配图,配图原则是因为防止代码量大而去掉的无用属性(如背景颜色)造成的一眼望去好像是没效果的技巧会加上一些配图,如果大家测试过程中遇到没有效果的现象,建议通过审查元素去查看以下元素的几何属性。还有一些是复制粘贴就可以得到的效果我就不截图了(想到可能读者懒的问题,我把格式写成下面的主要目的是直接复制到body中就可以用了),因为篇幅太太太太太长了。

本文首发在我的博客

清除浮动

主要用于子元素浮动(float)之后,父元素无法撑起高度和宽度。


文字少时居中,多时靠左

因为div嵌套着p,所以p的尺寸并不会超过div。但是要注意,当p的内容为英文单词组成的时候,如果单词过长,比如“pppppppppppppppppppppppppppp”这种甚至更长,会被视为一个单位而造成超出div的尺寸。

如果你想要英文字符也有中文字符的效果的话,在p使用“word-break:break-all”。


凹凸man

目的在于制造一个凹或者凸的形状,利用了”2“中英文单词不换行的特性


让padding、border不影响盒模型的大小

相信这点大部分人都知道,但是有一些奇怪的行为,比如说widthwidth时,元素的渲染大小(Chrome下)为padding+border;而padding+border


height:100%占屏效果

任意高度元素展开

缺点是,如果高度太大会造成展开过快和收回延迟,所以这个足够大的值尽量适当。


优雅的图片未加载或加载失败效果

需要注意的是,图片显示完毕后,img会成为“替换元素”,而替换元素是无法设置伪元素的,因为content内容被图片替换掉了;还需要注意attr里面的变量不能加双引号。


lululu

CSS的悬浮图片替换效果

需要注意的是,如果右键保存图片,保存的是src内的图片,而不是替换之后的。





利于SEO的“替换元素”标题logo

用h1的原因主要是因为SEO,语义化的问题。


Weismann"s blog

高兼容、自动等宽、底部对齐的柱状图

需要注意的是,第一个i不能换行,换行后会产生后移的结果。


高兼容性的加载效果

在IE6-IE9下是...,其它都是动态的;使用dot的目的是语义化和低版本浏览器的兼容。


正在加载中...


    

增大点击区域

第一种主要利用了内联元素的padding只会影响外观和不影响布局的特点;第二种针对其他属性会改变背景图定位的一种方式。


demo





不使用伪元素的“三道杠”和”圆点“效果









导航栏去除右边多余尺寸

利用margin来改变尺寸,需要注意,改变尺寸的元素水平方向的尺寸不能是确定的。


正确的滚动底部留白方式

如果使用padding留白,在Firefox和IE不会显示。


高兼容的多栏等高

注意container高度不能是确定值,缺点是如果在内部使用锚点定位会出现问题。


正方观点

观点1

观点1

反方观点

观点1

正确的块级元素右对齐

auto值对于margin来讲是占用剩余的空间。


demo

图片上传增加框

此技巧主要说明border的颜色默认是继承自color的


不影响背景图片位置设置边距

和增加点击区域第二种方式一样


border制作梯形,各种三角形

高兼容双栏,一边等宽一边自适应,等高布局

缺点是border不支持百分比,最多2-3栏。


1234

内联元素“近似”垂直居中

至于为什么说“近似”,一句话说不清楚,请看开头



多行内容“近似”垂直居中

基于行高实现的...

容器内图片的垂直方向间隙问题

产生的问题和“幽灵空白节点”和x-height有关,你可以尝试在img前加入x字符观察一下。


图标文字对齐

特点是文字大小的改变不会影响对齐。ex代表的是x-height的高度,根据x字形的不同(如font-family)而不同。



拉拉

文字

永远居中的弹框

特点是内容和浏览器尺寸变化都是自动变换大小和位置,可以通过伪元素的height控制上下位置。


demo

文字环绕图片

float的真正用途。


demo,demo,demo,demo,demo,demo,demo

利用overflow:hidden自定义滚动条

事实上overflow:hidden是可以滚动的,可以通过锚点、focus、scrollTop滚动。滚动条的实现请自行发挥。

通过label实现的选项卡效果

与锚点不同的是不会触发由内到外(多层滚动造成的类似于事件冒泡的效果)的页面跳动(元素上边与窗体上边对齐),还支持Tab选项的效果;缺点是需要JS支持选中效果。


1
2
3
4

“包含块”的绝对定位元素“一柱擎天”问题

拉拉

“无依赖绝对定位”的表单验证应用

在一个元素上如果单用(父元素的position属性均是默认)“position:absolute”,事实上元素将原地不动,最终会产生BFC。


邮箱格式不准确(示意)
...

主体页面侧边栏

利用text-align和fixed的组合;height置0和overflow隐藏目的是为了不影响主体的体验,而之所以绝对定位元素没有被隐藏的原因是“如果overflow不是定位元素,同时绝对定位元素和overflow容器之间也没有定位元素,则overflow无法对绝对定位元素进行剪裁。”—《CSS世界》。


不通过width和height设置窗体全占用?

利用top和bottom或left和right同时设置的时候会触发流体特性的特点;与通过”top:0;left:0;width:100%;height:100%;“相比,在设置margin、border、padding的时候不会溢出到窗体的外面(就算你想到box-sizing,那margin呢?);而之所以用span的原因是想说明绝对定位会将元素的display置为block。






margin:auto水平垂直居中

纸张卷边阴影

主要利用“position: relative;z-index: 0;”创建层叠上下文与z-index的负值将阴影置于“contaniner”和“page”之间。

你可以尝试将关键CSS去掉查看效果。


demo

demo

隐藏文字

说这个主要是为了说明,Chrome浏览器如果字体设置12px以下的大小(新版本已经不限制了),会被自动处理成12px,但是有一个值除外,0。



解决text-decoration下划线和文本重叠

因为是内联元素,所以完全不用担心会影响元素高度的问题。



自动将输入的小写字母转换大写


价格场景下的首个符号选择器

特点是可以让html结构显得干净


¥399

元素隐藏同时资源不加载

后续可通过script.innerHTML访问。


 

头像裁剪矩形镂空效果

主要利用outline。


自定义光标

需要注意IE只支持cur文件。



修改水平流到垂直流

兼容到IE7;此应用涉及较多东西,所有水平流的特性都可以应用到垂直流中(比如水平居中变成了垂直居中)。



文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/114398.html

相关文章

  • 摩拜前端周刊第8期

    摘要:地址前端词典提高幸福感的个技巧推荐文章介绍了个更加简洁优雅的使用技巧。这些技巧确实在实际开发中十分常用,作者总结的很好,特别是针对降级问题又学到了一个新思路。值得奋战在一线的攻城狮们阅读学习。Ladies and 乡亲们,摩拜前端周刊起航啦~ 摩拜前端团队会收集每周前端优秀文章,每周五发布至掘金平台,欢迎关注我们~ 过个没什么了不起的一天,耀眼一些,你有资格 Top 榜 「中高级前端」...

    lykops 评论0 收藏0
  • 每日 30 秒 ⏱ 扼住焦点喉咙

    简介 无障碍、HTML 小细节、焦点、a11y、Accessibility、框架选择 无障碍开发还是应该从 HTML 开始聊起,无论是盲人阅读器还是浏览器等工具最核心的部分还是在 HTML,毕竟没了 CSS 只是不美观了,没了 JavaScript 只是少了交互和无限扩展的可能性。 有的同学会说了产品和老板拿着鞭子在后头赶马车哪里有时间写这些。现实是这样的,但是在选择UI框架的时候可以选择 无障碍...

    antyiwei 评论0 收藏0
  • Algorithms, Princeton, Coursera课程整理与回顾

    摘要:除特别标注外,文章非原创插图全部来自课程相关资源。剧透预警内容包含大作业的关键问题解法分析。为的返回值此方案下,判断只需要对应,判断使用结果准确,判断检测的对应是否为。更新此方法已确定违反的。 Princeton的算法课是目前为止我上过的最酣畅淋漓的一门课,得师如此夫复何求,在自己的记忆彻底模糊前,愿对这其中一些印象深刻的点做一次完整的整理和回顾,以表敬意。 注:这是一篇更关注个人努力...

    Luosunce 评论0 收藏0
  • CSS世界(文档)

    摘要:整理完了高性能这本书,往下就需要快速处理世界,这本讲解特性的书非常值得一读,内容完整,重点突出,实战性强,就是语言啰嗦。由于全书内容太多,而且需要一点一点的整理,所以放到了站点上,方便大家查看。 整理完了《高性能JavaScript》这本书,往下就需要快速处理《CSS世界》,这本讲解CSS特性的书非常值得一读,内容完整,重点突出,实战性强,就是语言啰嗦。由于全书内容太多,而且需要一点一...

    CNZPH 评论0 收藏0
  • 实用js库-使用JS库Leaflet.js生成世界地图并获取标注地址经纬度。

    摘要:大小仅仅只有,同时具有大多数地图所需要的特点。微信公众号嘻嘻图如下使用生成世界地图非常方便,配置参数记录下,有兴趣的可以看看本例中引入操作。当用户同意浏览器分享用户位置后,地图将自动调整视窗中心为该位置。 介绍:Leaflet是一个开源的JavaScript库,对移动端友好且对地图有很好的交互性。 大小仅仅只有 33 KB, 同时具有大多数地图所需要的特点。 Leaflet设计的非常简...

    seasonley 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<