zoukankan      html  css  js  c++  java
  • css样式总结体会

    css属性值语法:https://developer.mozilla.org/zh-CN/docs/Web/CSS/Value_definition_syntax

    1、margin-top属性不起作用的几个原因  : 参考   http://www.php.cn/div-tutorial-55481.html  及

        关于内层DIV设置margin-top不起作用的解决方案: http://www.cnblogs.com/huangyong8585/archive/2013/05/21/3090779.html

      标签内的第一个标签设margin-top和最后一个标签设margin-bottom是没有效果的,他们都会作用到父元素上的。

    2、css尺寸单位选择以及padding

     

     

     表格常用样式:

       1、border-collapse:属性可以设置表格边框是否被合并为一个单一的边框,还是象在标准的 HTML 中那样分开显示

     

    CSS选择器:http://www.w3school.com.cn/cssref/css_selectors.asp

    1、排除某个元素的一类元素::not(selector) 。

       如:li:not(.icon)  选择li中不是icon类名的所有 li标签。

    2、

     

     

     

     

     


     

    下面的内容是以前有道道云笔记的,有时间需要整理到上面去

     

     

     

    1、内联及行内元素设margin-top,padding-top没有效果,因为他们是基于基线对齐的。(需要自己多尝试下)

    background-attachmentfixed  属性可以让背景图在浏览器窗口始终固定不变(就好像脱离了该背景图的标签),下面的内容滚动上去可以把它覆盖。

    5、网页布局中侧边栏的一些与版心没有联系的的模块一律用定位,不然在网页变小(小屏幕电脑上)的时候侧边栏的元素会影响版心内容布局的。标准文档流就不用说了,浮动会有字围效应的。

    6、如果一张大的banner图(内有文字),在浏览器变小的时候回使文字缺少一部分的话,可以把文字和背景分成两张图片处理。

    7vertical-align: top;属性是设置在子元素上的,也就是需要东西的的行内元素本身。

    8、css3浏览器兼容问题就考虑5类:-webkit-;-moz-;-ms;-o-;还有一个是没有私有前缀的。

    9transform-origin:属性设置原点,是相对于该标签的左上角哪个点。默认的原点是图片中心点,也就是transform-origin50% 50% 0

     

    11、如果文本的盒子设了弹性盒子模型,文字左右居中,text-align: center;属性会失效,还得单独测试一下。

    12、css选择器最好是后代选择器和类名选择器的组合,因为如果页面出现改动,子代,后台和标签选择器组合的耦合性太大了,如果添加模块,模块正好是他的子代和或后代,那样式就会很乱的(因为标签名同类的太多了)。有一些ul下面的li是同样的样式的,这种可以给ul进行类选择器,后面的li用子代选择器比较好(用后代选择器的话,如果li后面嵌套了一个ul>li标签的话还是会出现耦合的)。

    13、css组合选择器常用:后代、子代、相邻兄弟(下一个兄弟选择器)、

    普通相邻兄弟(下面的所有兄弟选择器)[以上选择器在ie6以上都支持]

    14、页面布局的时候,模块之间的左右间距不要严格按照设计图把值定死了,用户的浏览器是不同一的,有大有小的。所以这些间距就是灵活变动适应不同浏览器的一个方案。

    15、父级元素的宽度太大的情况下,使用定位最好不要使用右边参考点,不然浏览器宽度变小的时候,整个结构就会乱掉。固定就另当别论了。

    16、display:inline-block;和浮动的效果好像,因为脱离标准流的元素会隐式的转化为inline-block类型。但是和显示的display:inline-block;又有不同,显示表示的时候就不得不考虑元素的基线对其问题。

    17、给元素设高度100%,往上推的父级元素的高度必须是可以确定,不然计算机没法计算的。如父元素的高度是通清除浮动撑出来的高度,给子元素设100%是无效的,

    18、弹性盒子模型,盒子的之间的距离一定的相同的,不过他们之间的具体距离可以通过margin或pading值来改变的。

    19、内联元素(包括行内块)默认都是基线对齐的,图片的基线就是图片的底部。父级元素默认 底边上一点的距离是基线对齐的地方(这个也只是对内联元素的子代有意义,块级元素没有任何影响)。内联元素一定是先按照内联元素对齐规则对齐后,再从上到下排版的。当文字的,图片的 vertical-align不为基线时或父元素的高度比图片大的多,则父元素默认 底边上一点的距离是基线就根本没有意义了,和没有一样。即父级元素默认 底边上一点的距离是基线只是在内联子元素是以基线对齐的时候会有效果。

    也可以另外一种理解(个人自己的想法,觉的这种解释更合理。),内联元素始终是基线对齐的,内联元素高度最高的那个是决定基线所在的位置的,通过vertical-align可以设置它的基线位置,而其他的内联元素的vertical-align则是声明它们要和基准元素的关系,是和基准的头部对齐 还是基线对齐、又或者是底部对齐。

    注意:vertical-align:bottom用在最高的内联元素则说明是与父元素以底边对齐的,与基线无关了。

    20、父元素高度不是定值时,子元素高度用百分比是没有效果的。比如,父元素高度是被子元素撑高的,也包括清除浮动撑出来的高度。但是如果是定位元素的话,父元素高度不定,子元素也是单位的话,高度100%确是可以获得的。

    21、banner图片用img标签和作为背景图片,两者各有优缺点。img只设宽度,图片会等比例缩放,这样的话高度就不能固定了;而作为背景,图片可以始终居中,图片大小不对改变,但是容器的宽度不够,会把图片两边给切掉的。如果banner图的突出看点是在之间部分的话用这种方法还是很不错的。

    22、绝对定位元素,通过设置top、bottom可以决定他的高度;left、right可以决定他的宽度,这样不用设宽度和高度就可以设置元素的宽度和高度了。iscroll插件就是用的这种方法。

     

    24、body最好给他设一个最小宽度,因为  有的的时候banner区域不一定在版心区域,可能是通栏。如果没设这个属性的话,当缩小的版心后,有版心的也许就不会变化了(下面出现横向滚动条),但是通栏的还会不断的缩小。

    26、css3的弹性盒子的高度可以被子元素撑开

    27、标签中如果有  文本 或 内容元素标签(img) 则,这个标签内的行高就会有效。即,如果标签内只有一个img标签,没有任何内容,这个标签一会被行高撑出高度来。

    28、有的标签不能继承父辈的font-size属性与color属性,如 <button>。

    29、body高度为0为什么背景色能充满整个浏览器  : https://www.sohu.com/a/146413356_230028

    30、自定义滚动条样式:https://baijiahao.baidu.com/s?id=1620626742712547161&wfr=spider&for=pc  或  https://codepen.io/stevenlewis/pen/hubpL(可以看效果展示)

    31、css实现小三角(原理):https://www.cnblogs.com/JennyLin77/p/5287811.html

      css中 border 显示机制:某一边的border没有相邻的border,则这条border显示的就是矩形;如果这条border有相邻的border,则重叠的border 以45°角,各一半。效果如下:

    div{
      width: 50px;
      height: 50px;
      border-top: 20px solid pink; 
      border-left: 20px solid lightgreen; // 上边框 和 左边框,相邻的两条边框都有时,重叠部分是各占45°角。
    }

                              基于border这种机制,只要对边border之间距离为0,就很好实现了。

       

    32、弹性布局flex,也不是所有的地方都适合。 如果 子元素的 宽高超过了父元素,使用滚动条,则居中布局。会导致头尾总是在外面。

      个人在模态框中,这样使用就出现,不能滚动到头部和尾部。

    33、BFC布局的理解:https://blog.csdn.net/gladys_1111/article/details/77049122  或  https://www.cnblogs.com/chen-cong/p/7862832.html

       a、bfc的区域不会与float的元素区域重叠。【这个特性可以 很好的实现一些布局,如:两列布局、三列布局
            b、计算bfc的高度时,浮动元素也参与计算。【这个特性可以 解决 浮动 没有撑出高度的问题,即清除浮动

  • 相关阅读:
    七牛上传图片
    Mysql数据库分布式事务XA详解
    PostgreSQL查询表名称及表结构
    利用DataSet分页方法 小宝马的爸爸
    Flex4中的皮肤(4):使用SkinPart约束Skin 小宝马的爸爸
    Flex4中使用WCF 小宝马的爸爸
    Flex4中的皮肤(3):使用组件数据 小宝马的爸爸
    (转)Flex4中的皮肤(1):自定义SkinnableComponent 小宝马的爸爸
    一起学ASP.NET中如何使用存储过程 小宝马的爸爸
    从宫二的李为看处世哲学 小宝马的爸爸
  • 原文地址:https://www.cnblogs.com/wfblog/p/8748018.html
Copyright © 2011-2022 走看看