前端的一些技巧2

是看视频有感的,也是记录一下,这些很奇特的技巧

“权重”问题

之前敲代码的时候没有关注这个事情,比方说一个div有个class为nav,然后里面又套了个class为content的控件,然后又套了个class为inner的控件,然后".nav .content .inner"打这么一长串意图不明的CSS设置(要是为了设置定位倒也能理解),但今天明白了,就是设置“权重”,比方说有个控件我想设置padding为20px,刷新之后,发现根本就没有实现效果,就可以考虑是不是这个问题了,我这里的例子如图:

例图.png

在左边和右边的控件都有一个小三角,我给他的定义是

/*左边控件*/
<i class="a"><s><s><i>
/*右边控件*/
<i class="b"><s><s><i>

要是单纯设置这个class,然后设置它们的内边距或者外边距,会发现没有效果,通过审查元素发现,不知为啥,设置的内容被“划掉”了,分析过后才发现这就是“权重”问题,如果不像“.xxx .xxx .xxx”设置那么长一串的话,可能会被判定无效

并列样式

也是针对这一张图,两边都想设置一样的,不想写重复代码,又方便管理,怎么办?可以考略并列样式,就好比一个样式,可以多个类使用,

.shortcut .dt,
.fr li.fore
{
   /*设置右左(按照“上右下左”的格式)两个内边距,因为点击上去的时候左右有空隙*/
   padding: 0 25px 0 10px;
   position: relative;
}
.dt i,
.fore i
{
  /*400是font-weight,是加粗的程度 bold是700的参数,这里是用数字写了*/
  /*15px/15px 字体大小/行高 */
  font: 400 15px/15px "宋体";
  
  /*设置定位*/
  position: absolute;
  right: 7px;
  top: 13px;
  /*只需要“菱形”的一半高度即可*/
  height: 7px;
  /*超出的部分都隐藏*/
  overflow: hidden;
  /*如果运行之后没有看见小三角那设置宽度*/
  width: 15px;
}
.dt i s,
.fore i s
{
   /*设置为绝对定位*/
   position: absolute;
   top: -8px;
   left: 0;
}

虚线模式

/*顶部是“点式”虚线*/
border-top:1px dotted #E4E4E4;
/*底部是下滑线虚线)*/
border-bottom: 1px dashed #E4E4E4;

一列四个盒子的设计模式

如图

需求.png

思路:在生活服务里一行里有四个盒子的思路:1.由于要有线,肯定是要有border的,此时肯定248px宽度肯定不够
所以可以让顶部和左边都移动一个px间距,也就是-1px来调试2.此时一行还是只有三个盒子,那可以考虑是宽度问题
那可以在限定宽度的基础上,再找一个盒子或者控件,来重新设置一下宽度,然后把超出的部分减掉即可
这里由于父盒子news限定了248px的宽,所以可以在li的父亲,也就是ul就可以把宽度拉长,然后在ul的父盒子把拉长
之后超出的部分减掉,即可完成一行四个盒子的需求

实现功能的代码(.html文件就是ul和12个li就不多写了,只是解释一下需要用到的"盒子")
1.leftservice:整个生活服务模块的盒子
2.dt:生活服务标题那一列位置的盒子
3.dd:包裹ul和li的盒子
4.news包裹着lifeservice的父盒子,它是参考后续布局的重要输出
实现:

.news{
    width: 248px;
    height: 451px;
    border:1px solid #E4E4E4;
    /*设置右浮动*/
    float: right;
    margin-top:12px;
}
.lifeservice{
    height: 251px;
    width: 248px;
    overflow: hidden;
}
/*修复针对如果顶部没有虚线的处理方式*/
.lifeservice .dd{
    border-top:1px dotted #E4E4E4;
    overflow: hidden;
    height: 251px;
}
.lifeservice .dd ul{
   /*要想一行四个盒子的必要步骤,“盒子”里的“盒子”要变“宽”*/
    width: 253px;
}
.lifeservice .dd ul li{
   /*经过fireworks测量,宽度就是这么多*/
    width: 62px;
    height: 70px;
    border:1px solid #E4E4E4;
    /*左浮动,让li顺序排布*/
    float: left;
   /*设计间距,让边线看上去“更清晰”,让需求更贴近*/
    margin:-1px 0 0 -1px;
}

封装class类(针对浏览器适配问题的)

            //进一步封装自己的类名 -- 如果classname上面包裹了一个id为xxx的盒子时
            function improvedGetClassName(classname,id){
                //也判定支持和不支持的条件
                if (document.getElementsByClassName){
                    //有id的情况
                    if (id){
                        var eleId = document.getElementById(id);
                        return eleId.getElementsByClassName(classname);
                    }else{//没有id的情况
                        return document.getElementsByClassName(classname);
                    }
                }
                //不支持的情况
                if (id)
                {
                    var eleId = document.getElementById(id);
                    //有id的话,就获得id下面所有标签的元素
                    var dom = eleId.getElementsByTagName("*");
                }else{
                    var dom = document.getElementsByTagName("*");
                }
                var arr = [];
                for(var i=0;i<dom.length;i++){
                    //分隔数组
                    var textArr = dom[i].className.split(" ");
                    for(var j=0;j<textArr.length;j++){
                        if(textArr[j] == classname){
                            arr.push(dom[i]);
                        }
                    }
                }
                return arr;
            }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • 请参看我github中的wiki,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon阅读 7,087评论 2 19
  • 本课来自http://www.imooc.com/learn/9请不要用作商业用途。 HTML5 HTML介绍 H...
    PYLON阅读 3,183评论 0 5
  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    程序员poetry阅读 16,507评论 32 459
  • •前端面试题汇总 一、HTML和CSS 21 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? ...
    Simon_s阅读 2,219评论 0 8
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,721评论 1 92