容易忽略的CSS盒子模型细节

今天在网上逛的时候发现了一篇介绍大多数人容易忽略的CSS盒子模型细节,整理了一下它的内容并验证了。CSS是前端必须掌握的技能之一。其中的box盒模型,大体就是bordermarginpaddingcontent,概念挺好理解,但当盒子模型与其他属性一起使用时的具体细节我们可能有点模糊。

阅读全文

新浪微博发布输入框@功能

新浪微博发布输入框,用getBoundingClientRect()来获取@的位置,再根据@的位置来确定联系人列表查看Demo

之前的版本使用nobr标签来计算@的位置,具体方法是用换行符把字符串分割成数组,计算每个数组的宽高,再加上所有换行符,可得高度 top;宽度是用分割后的数组最后一个元素的字符串的宽度对textarea宽度取模得出 left。加上一些基本的字符串操作和恰当的CSS定位就可以实现。不过后来发现有个问题,比如说在中文字母数字都输入的时候,一连串的数字或字母会自动换行,如下图所示的情况:
一连串的字母数字会自动换行导致定位出现问题

这样就造成了@定位不准确。

阅读全文

Fork me on GitHub