zoukankan      html  css  js  c++  java
  • python大神-css知识

      推荐使用:链接式

    1.行内式
              行内式是在标记的style属性中设定CSS样式。这种方式没有体现出CSS的优势,不推荐使用。
    
     
    
    2.嵌入式
              嵌入式是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中。格式如下:
    
             <head>
    
            <style type="text/css">
    
                   ...此处写CSS样式
    
           </style>
    
          </head>
    
    3.导入式
              将一个独立的.css文件引入HTML文件中,导入式使用CSS规则引入外部CSS文件,<style>标记也是写在<head>标记中,使用的语法如下:
    
              <style type="text/css">
    
                        @import"mystyle.css"; 此处要注意.css文件的路径
    
             </style>
    
    4.链接式
                也是将一个.css文件引入到HTML文件中    <link href="mystyle.css" rel="stylesheet" type="text/css"/>

    注意:

      导入式会在整个网页装载完后再装载CSS文件,因此这就导致了一个问题,如果网页比较大则会儿出现先显示无样式的页面,闪烁一下之后,再出现网页的样式。这是导入式固有的一个缺陷。使用链接式时与导入式不同的是它会以网页文件主体装载前装载CSS文件,因此显示出来的网页从一开始就是带样式的效果的,它不会象导入式那样先显示无样式的网页,然后再显示有样式的网页,这是链接式的优点。

     二、 css的选择器(Selector)

      1 、基础选择器:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            <!--1)标签选择器-->
            a{
                background-color: red;
                color: aliceblue;
            }
            2)id选择器
             #hgb{
                 background-color: red;
                color: aliceblue;
             }
            3)class选择器
                a、class的命名可以重复;id不可以
                b、class="aa bb" 代表着class="aa"和class="bb"
                c、当css对两个class(aa、bb)都有操作时,谁的操作最后解析,就改成最后一种样式
            
            .ab{
                font-size: 30px;
            }
            4)"*"号选择器(代表所有类型标签)
            *{
                background-color: antiquewhite;
            }
           5)id和class重名,带标签不一致时
            注:如果前面有大类(标签已经有定义了),产生的结果不一致
          
            a.ab{
                font-size: 40px;
            }
        </style>
    </head>
    <body>
        <a>aaabbbccc</a>
        <a id="hgb">dddeeefff</a>
        <div class="ab">aaabbbccc</div>
        <div class="ab">dddeeefff</div>
        <a id="ab">gggggggg</a>
    </body>
    </html>
    View Code

      2、组合选择器:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
           1)、多元素选择器(可以选择多个元素,用,号分开)
                    1)会把选择的元素嵌套里的元素一起改变
                   
            .div1,.main2 {
                /*color: brown;*/
                /*font-size: 40px;*/
            }
    
            2)、后代元素选择器
            .div1 p{
                color: antiquewhite;
                font-size: 40px;
            }
    
            3)、子元素选择器(有疑问)
                1)注意:元素嵌套的一点,p标签嵌套div时,相当于没有被嵌套
                2)块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素
                3)有几个特殊的块级元素只能包含内联元素,不能包含块级元素。如h1,h2,h3,h4,h5,h6,p,dt
                4)li内可以包含div
                5)块级元素与块级元素并列、内联元素与内联元素并列。(错误的:<div><h2></h2><span></span></div>)
            
            .main2>div{
                color: blueviolet;
                font-size: 50px;
            }
    
            4)、兄弟元素选择器
                注意:是相邻的元素
            
                .div1 + {
                    color: darkgreen;
                    font-size: 60px;
                }
    
        </style>
    
    
    </head>
    <body>
    <div class="div1">hello1
              <div class="div2">hello2
                  <div>hello4</div>
                  <p>hello5</p>
              </div>
              <p>hello3</p>
    </div>
    <p>hello6</p>
    
    <hr>
    
    <div class="main2">1
           <div>2
               <div>
                   4
               </div>
           </div>
           <div>
                   3
           </div>
         </div>
    </body>
    </html>
    View Code

      

    注意嵌套规则

    1. 块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素。
    2. 块级元素不能放在p里面
    3. 有几个特殊的块级元素只能包含内联元素,不能包含块级元素。如h1,h2,h3,h4,h5,h6,p,dt
    4. li内可以包含div
    5. 块级元素与块级元素并列、内联元素与内联元素并列。(错误的:<div><h2></h2><span></span></div>)

      3 、属性选择器(比较少用)

    E[att]            匹配所有具有att属性的E元素,不考虑它的值。
    
                                 (注意:E在此处可以省略,比如“[cheacked]”。以下同。)                 p[title] { color:#f00; }
    
     
    
             E[att=val]     匹配所有att属性等于“val”的E元素                                                   div[class=”error”] { color:#f00; }
    
     
    
            E[att~=val]    匹配所有att属性具有多个空格分隔的值、其中一个值等于“val”的E元素      td[class~=”name”] { color:#f00; }
    
     
    
            E[att|=val]    匹配所有att属性具有多个连字号分隔(hyphen-separated)的值、其中一个值以“val”开头的E元素,主要用于lang属性,
    
                                比如“en”、“en-us”、“en-gb”等等                                                    p[lang|=en] { color:#f00; }
    
            E[attr^=val]    匹配属性值以指定值开头的每个元素                       div[class^="test"]{background:#ffff00;}
    
            E[attr$=val]    匹配属性值以指定值结尾的每个元素                       div[class$="test"]{background:#ffff00;}
    
            E[attr*=val]    匹配属性值中包含指定值的每个元素                       div[class*="test"]{background:#ffff00;}
    View Code

      4、 伪类选择器:

    p:before         在每个 <p> 元素的内容之前插入内容                     p:before{content:"hello";color:red}

    p:after           在每个 <p> 元素的内容之前插入内容                      p:after{ content:"hello";color:red}

    也用在处理一个div里不同布局之间是否对齐上的运用(clear:both)

     伪类选择器: 专用于控制链接的显示效果,伪类选择器:
    
    a:link(没有接触过的链接),用于定义了链接的常规状态。
    
    a:hover(鼠标放在链接上的状态),用于产生视觉效果。
    
    a:visited(访问过的链接),用于阅读文章,能清楚的判断已经访问过的链接。
    
    a:active(在链接上按下鼠标时的状态),用于表现鼠标按下时的链接状态。
    
         伪类选择器 : 伪类指的是标签的不同状态:
    
                a ==> 点过状态 没有点过的状态 鼠标悬浮状态 激活状态
    
    a:link {color: #FF0000} /* 未访问的链接 */
    
    a:visited {color: #00FF00} /* 已访问的链接 */
    
    a:hover {color: #FF00FF} /* 鼠标移动到链接上 */
    
    a:active {color: #0000FF} /* 选定的链接 */ 格式: 标签:伪类名称{ css代码; }

    三 、CSS的常用属性

    1)颜色属性:

     <div style="color:blueviolet">ppppp</div>
    
       <div style="color:#ffee33">ppppp</div>
    
      <div style="color:rgb(255,0,0)">ppppp</div> 
    
      <div style="color:rgba(255,0,0,0.5)">ppppp</div>

    2)字体属性:

    font-size: 20px/50%/larger
    
    font-family:'Lucida Bright'
    
    font-weight: lighter/bold/border/
    
    <h1 style="font-style: oblique">老男孩</h1>

    3)背景属性:

    background-color: cornflowerblue
    
    background-image: url('1.jpg');
    
    background-repeat: no-repeat;(repeat:平铺满)
    
    background-position: right top(20px 20px);(横向:left center right)(纵向:top center bottom)
    
          简写:<body style="background: 20px 20px no-repeat #ff4 url('1.jpg')">
    
                  <div style=" 300px;height: 300px;background: 20px 20px no-repeat #ff4 url('1.jpg')">
    
     
    
         注意:如果讲背景属性加在body上,要记得给body加上一个height,否则结果异常,这是因为body为空,无法撑起背景图片,另外,如果此时要设置一个
    
         width=100px,你也看不出效果,除非你设置出html。

    4  )文本属性:

    font-size: 10px;
    
    text-align: center;横向排列(左右居中)
    
    line-height: 200px;文本行高 通俗的讲,文字高度加上文字上下的空白区域的高度 50%:基于字体大小的百分比(上下居中)
    
    p
    
    {  200px;
    
    height: 200px;
    
    text-align: center;
    
    background-color: aquamarine;
    
    line-height: 200px; }
    
    text-indent: 150px; 首行缩进,50%:基于父元素(weight)的百分比
    
    letter-spacing: 10px;(缩进)
    
    word-spacing: 20px;(字间距)
    
    direction: rtl;
    
    text-transform: capitalize;

    5)边框属性:

    border-style: solid;
    
    border-color: chartreuse;
    
    border- 20px;
    
    简写:border: 30px rebeccapurple solid;
    View Code

    6 ) 列表属性:

    ul,ol{ list-style: decimal-leading-zero;(是否有数字标点)
    
             list-style: none; list-style: circle;(有无前面的原点)
    
             list-style: upper-alpha;
    
             list-style: disc; }
    View Code

    7)dispaly属性:

    none(不显示)
    block(块标签)
    inline(内联标签
    View Code

    8 ) 盒子模型

    padding:用于控制内容与边框之间的距离;
    
           margin: 用于控制元素与元素之间的距离;margin的最基本用途就是控制元素周围空间的间隔,从视觉角度上达到相互隔开的目的。
    
     内边距会影响盒子的大小,外边距不会影响盒子的大小,需要设置 练习: 300px*300px的盒子装着100px*100px的盒子,分别通过margin和padding设置将小盒  子 移到大盒子的中间
    View Code

    9 )float

    1)浮动可以理解为让某个div元素脱离标准流,漂浮在标准流之上,和标准流不是一个层次。
    2)float:left;
    3)float:right;
    4)重点:假如某个div元素A是浮动的,如果A元素上一个元素也是浮动的,那么A元素会跟随在上一个元素的后边(如果一行放不下这两个元素,那么A元素会被挤到下一行);如果A元素上一个元素是标准流中的元素,那么A的相对垂直位置不会改变,也就是说A的顶部总是和上一个元素的底部对齐。

    清除浮动可以理解为打破横向排列。

    清除浮动的关键字是clear,官方定义如下:

    语法:(对于CSS的清除浮动(clear),一定要牢记:这个规则只能影响使用清除的元素本身,不能影响其他元素。

    clear : none | left | right | both

    取值:

    none  :  默认值。允许两边都可以有浮动对象

    left   :  不允许左边有浮动对象

    right  :  不允许右边有浮动对象

    both  :  不允许有浮动对象


    clear:both
    原因:父类被float起来,才用both(最low的方法)
    方法二:为类后面加标签:(这样可以创建一个伪类,把父类飘起来了
    .test:after{ # 还有before的用法
    contect:'111';
    display:block;
    clear:both;
    visibility:hidden; (与display:none隐藏的区别,有无高度的区别)
    height:0
    }

    10)position

    position----位置
                1、fixed:固定到屏幕的某个位置:top left ...
                
                (relative;absolute结合用才有意义)
                2、relative:这个作为基准
                3、absolute:用top;left;right;bottom;width;hight(决定在基准里所放的位置和大小)

    常用的技能点

    二、
        hover:当鼠标移到目标的地方,会让边框变颜色
        1、让边框变颜色
        .ele:hover{
                border:2px selid red;
        }
        2、让边框里的字变颜色
        .ele:hover .ele-item{
            color:red;
        }
        3、让隐藏的图片和文字,当鼠标移过去时显示出来
        
        <div class="touch">
            <div><img src="1.jpg"></div>
            <div class="content">
                <div class="c1">Huanggb</div>
                <div class="c2">500-1000(日)</div>
            </div>
        </div>
        
        <style>
            .touch {
                height:200px;
                200px;
                overflow:hidden; # 当撑满规定的范围时,多出的会隐藏
                position:relative # 作为absolute被撑满的对象
            }
            .touch .content{
                position:absolute; # 找到position:relative,然后充满其大小
                top:0;
                left:0
                right:0
                bottom:0
                background-color:block;
                opacity:0.6      # 透明度
                text-align:center
                visibility:hidden # 默认是隐藏的
            }
            # hover的用法
            .touch:hover .content{
                visibility:visible;
            }
        </style>
    实现三角形(尖角)
        
        .up {
            border-top:30px solid transparent;
            border-right:30px solid transparent;
            border-left:30px solid transparent;
            border-bottom:30px solid greent;
            display:inline-block;
        }
        <div class="up"></div>
    五、块标签当margin-top为负值是,可以继续往上移;可是内联标签不行
    
    六、
        图标
            方法:1、图片(自己ps);2、css(自己设计);3、自己画font(fontawsome)
            
    七、important的用法(!important无法让其他重复的样式给覆盖)
    
    
    八、布局
            <style>
                .c1 {
                    position:absolute;
                    left:0;
                    180px
                    backgrount-color:red;
                    height:500px;
                }
                .c2 {
                    position:absolute;
                    left:182px;
                    right:0;
                    backgrount-color:greent;
                    height:500px
                }
            </style>
            
            <div class="c1"></div>
            <div class="c2"></div>
    九、布局局部不动,内容动(overflow=auto)
    
        .body-content{
            position:absolute;
            top:48px  # body-head 占的高度
            left:182px
            right:0
            bottom:0                # 与以下面的overflow一起用
            overflow:auto;  #    溢出的内容变成滑轮
        }        

    实例讲解

    1、后台页面布局
                overflow:auto;
                position:absolute;
        
        2、提示框
            边缘标签:relative,absolute
            
        3、TAB
            display:none
            
        4、登录注册
            position:relative;absolute
            padding-right:30px (用着Input里)
            
            .user {
                position:relative;
            }
            .user input{
                height:30px;
                40px;
                padding-right:30px
            }
            .user .rem {
                position:absolute;
                left:15px
                topas:8px
            }
            <div class="user">
                <input type="text">
                <span class="rem"><img></span>
            </div>
            
            6.模态对话框(一共有三层)
                z-index(决定显示层的优先级)
                
            .model {
                position:fixed;
                top:0;
                bottom:0;
                left:0;
                right:0;
                background:rgbn(0,0,0,.5);
                z-index:2;
            }
            .content{
                height:300px;
                400px;
                background-color:white;
                top:50%;
                left:50%;
                z-index:3;
                margin-left:-200px;
                margin-top:-200px;
            }
            
            <div style="height: 2000px;background-color:red">
                <h1>abc</h1><h1>abc</h1><h1>abc</h1><h1>abc</h1><h1>abc</h1><h1>abc</h1><h1>abc</h1>
            </div>
            <div class="modle1"></div>
            <div class="content"></div>
  • 相关阅读:
    BCB编写DLL终极手册
    C++Builder常用函数
    c++与js脚本交互,C++调用JS函数JS调用C++函数
    JS调用C++
    c&c++MFC 调用 js 函数代码
    C++调用JS,JS调用C++
    MFC基础类及其层次结构
    MFC文档视图结构学习笔记
    深入理解JVM虚拟机1:JVM内存的结构与永久代的消失
    深入理解JVM虚拟机开篇:JVM介绍与知识脉络梳理
  • 原文地址:https://www.cnblogs.com/langzibin/p/7402007.html
Copyright © 2011-2022 走看看