IFE任务练习笔记(三)
这里记录的是在练习百度的2016IFE任务时的笔记,因为是边学边记所以也比较零散,仅供自己平日记录。
左侧固定右侧自适应
1234567.left{width:200px;float:left;}.right{margin-left:200px;}右侧固定左侧自适应
123456789.left{margin-right:200px;}.right{position:absolute;top:0;right:0;width:200px;}清除浮动—1
浮动
子元素因为浮动使得子元素的高度大于父元素的高度,即造成父元素塌陷。方法一: 在父元素上添加
1234.clear{overflow:auto;zoom:1;//兼容 IE6}清除浮动后原来在父容器上面添加的padding margin 对于子元素仍是适用的。
这种方法当子元素中的子元素变大时会使得父元素出现滚动条清除浮动—2
123456789.clearfix{&:after{content: "";display: block;visibility: hidden;height: 0;clear: both;}}这种方法不会出现滚动条,但当子元素的子元素变大的时也可能会破坏布局
首字母大写 :first-letter{ font-size:22px;}
font: 多个属性一起使用是有顺序的。
字体倾斜:font-style:italic; 对于没有斜体变量的特殊字体应使用 oblique;
实现首字母大写并下沉样式:12345&:first-letter{font-size:70px;margin:30px 10px 20px 0;float:left;}通过设置字号,float并配合margin来进行定位。
伪类设置双引号 content:open-quote;配合定位;
123456&::before{content: open-quote;position:relative;left:20px;top:20px;}水平导航目录: ul+inline-block+absolute;
多个元素使用inline-block 布局时,当内部元素变大时,其他兄弟元素会错位,这个问题使用float:left;解决(问题见原生JS–110.html)
只在父元素上使用mouseover 与mouseout事件就想使得子元素出现和消失的结果,这会出现鼠标在子元素上移动时会闪个不停。。。
因为这会在连续触发父元素(问题见 原生js-110.html)
解决办法: 在父元素上使用 mouseover使得 子元素一进入就出现,在 子元素上使用mouseout 使得子元素消失。若是这时子元素内容变大使得子元素不能再触发,可以将子元素内容设置成背景图片(针对图片的情形),这时应考虑好DOM结构。原生JS关于事件处理的套路:
在父元素上添加事件监听,在点击子元素时,会有事件冒泡,所以父元素上的事件监听肯定会监听到,然后在父元素的事件监听处理函数中判断是否是在子元素上,这时当然会用到event.target。12345678function delegateEvent(delegateElement, targetTag, eventName, handler) {delegateElement.addEventListener(eventName, function(event) {var target = event.target;if (targetTag.toLowerCase() === target.nodeName.toLowerCase()) {return handler(event);}}, false);}