css 总结

  1. 内部与内联样式

    内部样式:style属性
     <div style="background-color: aquamarine;">adfjk</div>
     
    内联样式:style标签
     <style>
            #div2{
                background-color: #000000;
            }
      </style>
     外部样式:
       <link rel="stylesheet" href="./common.css">
    
        <style>
            @import url('./common.css'); //不推荐
        </style>
        
    内部样式和外部样式优先级相同,如果设置了相同样式,那么后写的引入方式优先级高
    单一样式优先级:
    style内联样式 > id > class > tag > * > 继承
    权重:1000     100   10       1
    
    标签类型划分:布局一般用块标签,修饰文本一般用内联标签
    block:块
     独占一行
     支持所有样式
     不写宽的时候,跟父元素的宽相同
     所占区域是一个矩形
     
    inline:内联
     a span img(是替换元素,支持宽高设置)
     挨在一起
     有些样式不支持:width height margin padding
     不写宽的时候,宽度由内容决定
     所占区域不一定是矩形
     内联标签之间会有空隙,产生原因:换行产生的
     
    inline-block:内联块
     input
    
    标签内容划分:
    
    
    !important: 提升样式优先级,不建议使用
    
    标签+类 > 单一
    div .box{
                color:blue;
            }
    div{color:red;}
    
    
    盒模型:
    content -> padding -> border -> margin
    物品       填充物     包装盒     盒子与盒子之间的间距
    (width,height)
           内填充
    背景颜色会填充到margin以内的区域
    文字会在content区域
    padding不会出现负值,margin是可以出现负值
    
    问题解决:
    1) margin重叠
    上下两个元素这是margin会出现叠加的问题(只存在上下,不存在左右),会取上下中值较大的作为叠加的值
    解决方案:
    1. bfc规范
    2. 只给一个元素添加间距
    
    2)margin传递
    嵌套的结构中,margin-top会有传递的问题
    <div class="box1">
         <div class="box2">段落</p>
    </div>
    .box2{margin-top: 100px;}
    box1和box2一块往下移动
    解决方案:
    1)BFC规范
    2)给父容器加边框
    3)margin换成padding
    
    3)居中
    margin-left:auto;//盒子会靠右显示
    margin-right:auto;//盒子会靠左显示
    
    margin:auto; //居中显示
    width height 不设置的时候,会自动计算容器的大小,节省代码
    
    4)span标签之间有空隙
    解决方案:
    父级元素加:font-size:0
    span标签加:font-size:16px
         <style>
           div{font-size: 0;}
           span{font-size: 16px;}
           #content1{background-color: red;}
           #content2{background-color: blue;}
        </style>
        <div>
         <span id="content1">内联1内联1内联1内联1内联1内联1内联1内联1内联1内联1</span>
         <span id="content1">内联1</span>
        </div> 
    
  2. 颜色

    单词: red blue
    十六进制:#ffffff
    rgb: rgb(255,255,255)
    
    拾色工具:fehelper ps
    
  3. 背景样式

    background-color: #000000;
    background-image: url('./');
    background-repeat: repeat-x; //平铺方式
    background-position: top bottom; //图片位置
    background-attachment: fixed; //背景图随滚动条的移动方式 fix容器滚动,背景图不动
       scroll:背景位置是按照当前元素进行偏移
       fixed:背景位置是按照浏览器进行偏移
    
    
    
    background-image: url(./icon.png);
       width: 300px;
       height: 300px;
       background-repeat: no-repeat;
       background-position: -90px 10px;
       background-position: center center;
       background-position: 50% 50%;
       background-color: #000000;
       background-attachment: fixed; 
    
       background: red url(./1.png)  no-repeat center center;
    
       复合会把单一覆盖
       先复合再单一
    
  4. 边框样式

    border-style:solid dashed dotted
    boder-width
    boder-color: transparent
    
    border-left-style:
    
  5. 字体

font-family: 华文彩云,'Times New Roman', Simsun, 微软雅黑; //字体含有空格需要用引号
font-size: 16px; //不建议用奇数 数字|字母(medium等)
font-weight: normal|bold|number(100-500:nomal 600-900 bold);
font-style:italic|normal;
color:red;

复合写法:
font:30px 宋体
至少要有 size family (有顺序要求)
weight style size family
style weight size family
weight style size/line-height family


6. 文本修饰

 text-transform:lowercase|uppercase|capitalize;
 text-decoration: underline|overline|line-through|none;



7. 段落样式

首行缩进两个汉字:
text-indent:36px; font-size:18px;

1em始终等于字体大小,此处1em=18px
text-indent:2em;

text-align:left|justify


8. 行高

 

line-height: 上边距+字体+下边距 (上边距=下边距)
line-height:32px|2; font-size:16px;
2此处指2倍行高


9. 文本间距

letter-spacing: 10px; 字之间的间距
worder-spacing:10px (英文才有效); 词之间的间距

英文和数字不自动折行
word-break:break-all (强烈的折)
word-wrap:break-word (不强烈的折行,会出现空白问题, 长字符单词会整个在下一行显示)


9. 层次选择器

M N: 后代(包括所有子孙后代)
M>N:父子(只是父子)
M~N:当前标签下面的所有兄弟
div~h2{
color: red;
}
<div>div</div>
<p>p</p>
<h2>h2</h2>
<h2>h2</h2>
<h2>h2</h2>

M+N:相邻(只会找当前标签下面相邻的兄弟)


10. 属性选择器

 ```
 1) M[attr]: 选择所有带有attr属性元素
 
     a[target]
     {
     background-color:yellow;
     }
 
     <a href="//www.w3cschool.cc">w3cschool.cc</a>
     <a href="//www.disney.com" target="_blank">disney.com</a>
     <a href="//www.wikipedia.org" target="_top">wikipedia.org</a>
  2) M[attr=value]:  选择所有使用target="-blank"的元素
         a[target=_blank]
         {
         background-color:yellow;
         }
  3) M[attr*=value]: 选择每一个src属性的值包含子字符串"runoob"的元素a[src*="runoob"]
          div[class*="test"]
         {
             background:#ffff00;
         }
         <div class="first_test">这是第一个 div 元素。</div>
         <div class="test">这是第三个 div 元素。</div>
   4)M[attr^=value]:   a[src^="https"]选择每一个src属性的值以"https"开头的元素
           div[class^="test"]
         {
         background:#ffff00;
         }
   5)  M[attr$=value]: 结尾
           div[class$="test"]
         {
         background:#ffff00;
         }
    6) M[attr1][attr2]:
         div[class][id]:div标签中含有这两个属性的标签
         
 ```

11. 伪类选择器

 ```
 M:伪类{}
     a:link 访问前
     a:visited 访问后
     :hover  鼠标移入
     :active 鼠标按下
     如果四个伪类都生效,需要注意添加顺序: L V H A
     
     a{color:gray}
     a:hover{color:red}
     
     a:active
     {
         background-color:yellow;
     }
     div:hover{
         background-color:yellow;
     }
     div:active{
         background-color:yellow;
     }
     div:hover{
         background-color:yellow;
     }   
 ```

12. :after :before

 ```
 通过伪类的方式给元素添加文本内容
 清浮动 精灵图标 部分文字改变颜色 列表图标
 用法:
 https://www.cnblogs.com/liAnran/p/9714040.html
 
 
 ```

13. [:checked]

  [:disabled] 

  [:focus]

 ```
 input:checked
 {
      width:100px;
      height:200px;
 }
 :checked
 {
 width:100px;
 height:200px;
 }
 :focus{background:red;}
 
 <form action="">
     <input type="radio" checked="checked" value="male" name="gender" /> Male<br>
     <input type="radio" value="female" name="gender" /> Female<br>
     <input type="checkbox" checked="checked" value="Bike" /> I have a bike<br>
     <input type="checkbox" value="Car" /> I have a car 
 </form>
 ```

14. 结构类选择器

 ```
 :first-of-type
 :last-of-type
 :only-of-type
 :nth-of-type(n) : 从1开始
 
 li:nth-of-type(n+2){ //n: 从0到无穷大
     background-color: red;
 }
 
 li:last-of-type{
     color:blue;
 }
 li:first-of-type{
     color:rosybrown;
 }
 
  
     <ul>
         <li>fdfjkj</li>
         <li>fdfjkj</li>
         <li>fdfjkj</li>
         <li>fdfjkj</li>
         <li>fdfjkj</li>
     </ul>
 
 li:only-of-type{
     color:blue;
 } 
     <ul>
         <li>fdfjkj</li>
     </ul>
 
 :nth-child(n)
 :first-child
 :last-child
 :only-child
 
  li:first-child{
     background-color: red;
  }
 ```

15. 样式继承

 ```
 文字相关的样式可以被继承
 布局相关的样式:默认不会被继承,但可以设置inherit属性
 div{border:1px solid red;}
 p{border:inherit;}
 
 <div>
   <p>段落</p>
 </div>
 ```

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • 1、垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,...
    kiddings阅读 3,104评论 0 11
  • 图片引入标签: 超链接标签: 百度 base标签: base标签可以给页面的链接加上默认的路径,或者默认的打开方式...
    钱钱_e3a6阅读 356评论 0 0
  • CSS:层叠样式表 css注释 /* */ 选择器: 类选择器:.class{ color:#00ff00; };...
    信阳丶周杰伦阅读 100评论 0 0
  • 1.css简介 css注释 /* */ 浏览器私有属性chrome,safari: -webkit-fir...
    萌琦琦de诗扬阅读 258评论 0 2
  • CSS:cascading style sheets 层叠样式表 display: block: di...
    苦役亚克阅读 222评论 0 0