zoukankan      html  css  js  c++  java
  • CSS学习笔记

    1.CSS选择器

    选择器名称 选择器说明 使用方法 优选级
    行间样式 直接在对应的行间样式写对应的style   0
      最优先级属性 属性后面加入!important 最高
    id选择器 选择对应的id,一个id对应一个标签 css文件对应#id{} 1
    class选择器 选择对应的class,一个class对应多个标签 css文件对应.class{} 2
    标签选择器 选择对应的标签,对应的标签选择对应
    用来标准化元素
    css文件对应 标签{} 3
    通配符选择器 *。所有的标签都是对应相应的类型
    多用来设置padding,margin等。
    css文件对应*{} 4
    属性选择器 选择对应的属性,比如有属性叫id css文件对应[对应的属性]
    [id="test"]
    2
    和class并级
    特殊选择器  【属性都可以相互嵌套使用】    
    父子选择器 在标签后面加上对应的标签 css文件加入div strong em{}
    .class #id{}
    只要是父子关系就行,间接的关系也变
    权重计算 
    直接子元素选择器 标签的直接属性改变 在css后面直接加入 div>em{} 权重计算 
    并列选择器 多个限制条件一起 css文件对应div.demo#id 权重计算
    返祖选择器 多个标签属性共用一个代码块 div,.demo,#id{}  
    伪类选择器 添加不通情况下执行的效果 a:hover{}当鼠标移上去就会变栋不同的效果  

    Section div ul li a em[浏览器自右向左的顺序读取]

    2.CSS的权重以及其计算问题

    选择器名称 CSS权重
    !important Infinity
    行间样式 1000
    id 100
    class|属性|伪类 10
    标签|伪元素 1
    通配符 0

    权重说明:进制为256进制
    权重用法,只要写在一排顺序的,权重值相加,权重越大的优先级越高。一样的代码后面会覆盖前面。

     3.CSS属性

    属性值 属性说明 默认值 备注
    font-size 字体大小 16px 一般设置为12px等,设置的为字体的高
    font-weight 字体权重 normal 和<strong></strong>一样
    <strong>里面自带bold属性
    font-style 字体属性 italic 和<em></em>一样
    <em>里面自带italic属性
    font-family 字体 arial arial互联网通用字体,是乔布斯发明的
    color 字体颜色 黑色 没有font-color,只有color
    颜色书写方法:
    1.英文名称
    2.颜色代码(#ff4400)
    分别是红绿蓝,16进制,两位代表一个颜色
    3.颜色函数 rgb(255,255,255)
    border 盒子   border是由四个不同的边框组成,每个边框可以单独设置
    border可以自己直接带多个属性,也可以单一设置。
    后面新设置的属性覆盖前面的
    画三角形,透明颜色transparent


     1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
     2 "http://www.w3.org/TR/html4/strict.dtd">
     3 
     4 <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
     5     <head>
     6         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     7         <title></title>
     8     </head>
     9     <body>
    10         <div style=" 10px;
    11             height: 10px;
    12             background-color: brown;
    13             border: 10px cornflowerblue solid;
    14             border-left-color: cadetblue;
    15             border-bottom-right-radius: 10px;">
    16             
    17         </div>
    18     </body>
    19 </html>
    border画椭圆三角等

    在线查询相关属性手册: http://css.doyoe.com/

     4.企业级开发注意事项

    【文字处理】
    字体对其方式:text-align:center
    文本行高:line-height:20px
    文字居中:垂直居中:line-height的值等于容器的值
    首行缩进:text-indent:2em;缩进两个文本的单位

    del属性一般不适用,可以用text-decoration:line-through;来替代。
    链接自定义:text-decoration:underline;color:rgb(0,0,238);鼠标移入的时候,会出现光标选择效果corsor:pointer;

    【单位说明】
    绝对单位:cm,m,h
    相对单位:px(相对屏幕来说,一个像素只能显示一个颜色);em=1 * font-size,相对于字体的大小来说

    【元素说明】
    1.行级(内联)元素:内容决定元素所占位置,不可以通过CSS改变宽高;

    span,strong,em,a,del
    2.块级元素:独占一行,可以通过CSS改变宽高。

    div,p,ul,li,ol,form,address

    3.行级块元素:内容决定大小,可以改宽高。

     img

     控制属性书否为行级元素还是块级元素,display:inline(行级元素)/block(块级元素)/inline-block(行级块元素)

     实际应用:淘宝四张连续的图片

    只要有inline的元素,都带有文字属性。如果img元素用回车代替,则中间会有空格,只需要删除在一行展示即可(还可以用到盒子模型)

    【代码压缩】
    每个程序写完了之后,都会压缩代码,压缩代码的步骤:1.标签缩写成一个。2.删除空格,删除回车。

     【开发顺序】
    一般为先写功能,再写界面,因此可以先写好css效果,后面再html中直接拿来使用

     5.盒子模型

    盒子的三大部分:

    盒子壁:border
    内边距:padding
    外边距:margin(body的默认margin为8px)
    盒子内容:width+height

    【盒子模型的计算】

    不用到margin,其余的部分相加

    定位】让特定的元素在特定的位置展示
    层模型:每一个absolute都是新的层;z-index:谁在谁上面。
    position
    1.absolute:绝对定位。脱离原来位置进行定位。还需要设置 left,top,right,bottom值(只和position配套使用)
    注意事项:相对于最近的有定位的父级的进行定位。如果没有的话,相对于文档进行定位。
    2.opacity:透明度(覆盖住也可以选择,可以用来看覆盖效果)

    relative:相对定位。保留原来的位置进行定位
    注意事项:相对于原来的位置进行定位。

    使用说明:relative当作参照物,absolute作为操作。
    3.fixed:固定定位。
    【做居中】:1.left:50%;top:50%;2.将中心定在左上角,半个身位。

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
     2 "http://www.w3.org/TR/html4/strict.dtd">
     3 
     4 <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
     5 
     6     <head>
     7         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     8         <link rel="stylesheet" type="text/css" href="../css/4.radius.css" />
     9         <title></title>
    10     </head>
    11 
    12     <body>
    13         <div id="main">
    14             <div id="a"></div><div id="b"></div><div id="c"></div><div id="d"></div><div id="e"></div>
    15         </div>
    16 
    17     </body>
    18 
    19 </html>
    奥运五环Html
     1 *{
     2     margin: 0px;
     3     padding: 0px;
     4 }
     5 
     6 /*不可设置为行级元素*/
     7 div{
     8     display: inline-block;
     9     
    10 }
    11 
    12 #main{
    13     position: absolute;
    14     width: 114px;
    15     height: 76px;
    16     top: 50%;
    17     left: 50%;
    18     margin-left: -57px;
    19     margin-top: -38px;
    20 }
    21 #a,#b,#c,#d,#e {
    22     width: 30px;
    23     height: 30px;
    24     border:3px solid;
    25     border-radius: 50%;
    26     margin: 1px;
    27 }
    28 
    29 #a{
    30     z-index: 1;
    31     border-color: #008000;
    32 }
    33 #b{
    34     z-index: 1;
    35     border-color: #00FFFF;
    36 }
    37 #c{
    38     border-color: crimson;
    39 }
    40 
    41 #d {
    42     z-index: 2;
    43     position: absolute;
    44     left: 18px;
    45     top: 18px;
    46     border-color:darkmagenta
    47 }
    48 
    49 #e {
    50     position: absolute;
    51     right: 18px;
    52     top: 18px;
    53 }
    奥运五环CSS

     关于margin的bug

    【margin塌陷】

    问题描述: 当两个div嵌套的时候,子div的margin-left会随着设置的改变而改变,而margin-top,子和父元素都取较大的一个数。
    解决办法:1.给父级元素的border添加一根线,添加就可以生效(能解决问题,但是不理想)。
    2.bfc(block format context)块级上下文:作用是改变盒子显示的规则

    触发bfc属性的方法 说明
    position:absolute 选择位置
    display:inline-block 选择是行级元素还是块级元素,或者是行级块元素
    float:left/right 浮动属性
    overflow:hidden 溢出盒子的部分隐藏展示

    【margin合并】

    问题描述,两个div的margin-bottom和margin-top会重合共用,而不是相互顶开。
    解决办法:将其中的一个div或者都放入带有块级上下文的div中。(但是一般这样添加html结构对结构的影响很大,一般不推荐使用,这个bug也不推荐解决)

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
     2 "http://www.w3.org/TR/html4/strict.dtd">
     3 
     4 <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
     5 
     6     <head>
     7         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     8         <link rel="stylesheet" type="text/css" href="../css/margin.css" />
     9         <title></title>
    10     </head>
    11 
    12     <body>
    13         <!--<div class="a">
    14             <div class="b">
    15             </div>
    16         </div>-->
    17         <span id="a">
    18             123
    19         </span>
    20         <span id="b">
    21             234
    22         </span>
    23         <div class="c">1</div>
    24         <div class="e">
    25             <div class="d">2</div>
    26         </div>
    27     </body>
    28 
    29 </html>
    margin bug代码
     1 *{
     2     padding: 0px;
     3     margin: 0px;
     4 }
     5 
     6 .a{
     7     margin-left: 50px;
     8     margin-top: 50px;
     9     width: 100px;
    10     height: 100px;
    11     background-color: cornflowerblue;
    12     border-top: 10px solid #FF1493;
    13 }
    14 
    15 .b{
    16     margin-left: 50px;
    17     margin-top: 150px;
    18     width: 50px;
    19     height: 50px;
    20     background-color: coral;
    21 }
    22 
    23 #a{
    24     background-color: cadetblue;
    25     margin-left: 100px;
    26 }
    27 
    28 #b{
    29     background-color: darkorchid;
    30     margin-left: 100px;
    31 }
    32 
    33 .c{
    34     background-color: lightsalmon;
    35     margin-bottom: 100px;
    36 }
    37 
    38 .d{
    39     background-color: skyblue;
    40     margin-top: 100px;
    41 }
    42 
    43 .e{
    44     overflow: hidden;
    45 }
    margin bug样式

    Float属性:
    1.浮动元素会给子元素排序,可以顺序和逆序。
    2.浮动元素产生了浮动流,块级元素看不到他们(会覆盖),产生了bfc元素和文本类元素属性(inline)以及文本都能看到浮动元素。
    问题:
    父级元素的border包不住带有浮动流的子元素。boder会被挤到最上面去。
    解决办法:再div里面添加<p></p>元素,因为受浮动流得影响,会跟在子<div>得后面,所以需要用到clear:both;来清除浮动值。然后设置border-top,就可以达到对应效果。

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
     2 "http://www.w3.org/TR/html4/strict.dtd">
     3 
     4 <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
     5     <head>
     6         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     7         <link rel="stylesheet" href="../css/float.css" />
     8         <title></title>
     9     </head>
    10     <body>
    11         <div class="main">
    12             <div class="content">1</div>
    13             <div class="content">2</div>
    14             <div class="content">3</div>
    15             <p></p>
    16         </div>
    17         
    18     </body>
    19 </html>
    浮动bug解决html
     1 * {
     2     padding: 0px;
     3     margin: 0px;
     4 }
     5 
     6 .main {
     7     border: 1px solid darkgoldenrod;
     8 }
     9 
    10 .content {
    11     /*添加浮动元素*/
    12     float: left;
    13     width: 100px;
    14     height: 100px;
    15     color: crimson;
    16     background-color: #FF7F50;
    17 }
    18 p{
    19     border-top: 0 solid black;
    20     clear: both;
    21     
    22 }
    浮动bug解决CSS
  • 相关阅读:
    java中的静态代理、jdk动态代理和cglib动态代理
    第三方支付熟悉
    C#进制转换
    维翔主机asp主机使用遇到的问题及解决方案总结
    windows上JSP开发环境全搭建
    文件校验工具的开发及问题
    C#加密算法总结
    WampServer搭建php环境可能遇到的问题
    分分钟搭建自己的微信聊天机器人
    KindEditor编辑器在ASP.NET中的使用
  • 原文地址:https://www.cnblogs.com/xuhai/p/8850696.html
Copyright © 2011-2022 走看看