zoukankan      html  css  js  c++  java
  • css

    前端之CSS
    层叠样式表(口红,美甲,眉笔,化妆盒)
    语法结构
    选择器 {属性:属性值;属性:属性值;属性:属性值;}

    css

    引入css的三种样式

    三种引入css样式的方式
    		1.head内style标签内部直接书写css代码
    		2.link标签引入外部css文件
    		3.直接在标签内通过style属性书写css样式
    	
    	ps:注意页面css样式通常都应该写在单独的css文件中
    
    <!--
    "mycss.css"里的文件内容
    p {color: darkblue }
    -->
    
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>yaya</title>
        <link rel="stylesheet" href="mycss.css">  #  第二种方法
        <style>
            p{color: blueviolet }   # 第一种方法
        </style>
    </head>
    <body>
    <p style="color: deepskyblue ">我是p标签</p>   #第三种方法
    </body>
    </html>
    
    注意:
    1.link标签引入外部css文件,一定要写rel="stylesheet",不然失效.
    
    2.head内style标签内部直接书写css代码,
    	注释
    		/*单行注释*/
    		/*
    		多行注释
    		*/
    	如果先把style先注释了,剩下p{color: blueviolet },就会被html当	  成普通文本读入,写什么显示什么(再注释的话,也是html注释的方		法),但如果在style内先注释 p{color: blueviolet },就会是/*   		*/
    
    3.如果三种方法都写,p自己本身>style>link(因为style离p比较近,程序由上到下执行,link被style覆盖..)
    

    基本的选择器

    标签选择器
    id选择器
    类选择器
    通用选择器
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>yaya</title>
        <style>
            /*标签选择器,所有span标签的颜色都是绿色*/
    
            span {
                color:chartreuse;
            }
            /*id选择器*/
              #span2 {
                color: red;
            }
            #span1 {
                font-size:24px;
                color:rebeccapurple;
            }
            /*类选择器*/
            .c1 {
                color:orange;
            }
            /*通用选择器*/
            * {
                color:blue;
            }
    
        </style>
    </head>
    <body>
    <span id="span1">span</span>
    <div class="c1">
        div
        <p style="color: brown ">
            div里的p
            <span class="c1" id="span2">在div里p里的span</span>
        </p>
    </div>
    <div class="c1">div</div>
    <p>外面的p</p>
    </body>
    </html>
    
    注意:
    1.body里面写的是div,span,p等的结构标签,在head里面写的是为body装饰  的标签style等
    
    2.选择顺序就是加载的顺序而来的,先从自身找,如给了id 或者是class,先从自身的id或者class中找,如果写了id和class,会找id的,因为id的精确度比较高,如果什么都没写会先找标签选择器里面的,如果没写标签选择器,会找通用选择器,没有会找父类中的子类如 div里的p里的style="color: brown ",没有会找div class="c1"
    
    3.样式类名不要用数字开头(有的浏览器不认)
    
    4.标签中的class属性如果有多个,要用空格分隔
    

    组合选择器

    后代选择器
    儿子选择器
    毗邻选择器
    弟弟选择器
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>yaya</title>
        <style>
            /*后代选择器  div里面所有的span标签都变成粉色 子子孙孙*/
            div span{
                color:palevioletred;
            }
            /*!*儿子选择器*!  不包括儿子的儿子*/
            div>span {
                color: #769B36;
            }
            /*毗邻选择器 对下不对上*/
            /*选择所有紧接着<div>元素之后的一个<span>元素*/
            div+span{
                color:blue;
            }
            /*弟弟选择器 对下不对上*/
            /*选择所有紧接着<div>元素之后的<span>元素*/
            div~span{
                color:darkcyan;
            }
    
        </style>
    </head>
    <body>
    <span>我是div上面的第一个span</span>
    <div>
        <span>我是div里的第一个span</span>
        <p>我是div里面的第一个p
        <span>
            我是div里面的第一个p里面的span
        </span></p>
        <span>我是div里的第二个span</span>
    </div>
    <span>我是div下面的第一个div</span>
    <span>我是div下面的第二个span</span>
    </body>
    </html>
    
    
    

    属性选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>yaya</title>
        <style>
    
            /*只要有xxx属性名的标签都找到,不管有没有属性值或者无论是什么块标签*/
        [xxx]{
            color: #769B36;
        }
            /*只要是标签有属性名为xxx并且值为1*/
            [xxx='1'] {
                color:brown;
            }
            /*规定p标签内部必须有属性名为xxx并且值为2的标签*/
            span[xxx='2'] {
                color: blue;
            }
        <!--</style>-->
    </head>
        
    <body>
    <p xxx>我是p,我有属性名xxx</p>
    <div xxx="1">我是div ,属性名为xxx,属性值为1</div>
    <p xxx="2">我是p,属性名为xxx,属性值为2</p>
    <span xxx>我只有属性名</span>
    <span xxx="1">我有属性名和属性值,并且属性值为1</span>
    <span xxx="2">我有属性名和属性值,并且属性值为2</span>
    </body>
    </html>
    

    分组与嵌套

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>丫丫</title>
        <style>
            /*分组*/
            div,p,span {
                color:blueviolet;
            }
            /*嵌套:不同的选择器可以共用一个样式
            后代选择器与标签组合使用
            */
            div p,span {
                color:chartreuse;
            }
        </style>
    </head>
    <body>
    <div>div</div>
    <p>p</p>
    <span>span</span>
    </body>
    </html>
    

    伪类选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>yaya</title>
        <style>
            a:link{
                color:palevioletred;
            }
            a:hover {
                color:yellow;
            }
            a:active {
                color:black;
            }
            a:visited {
                color:green;
            }
            input:focus {
                background-color:red;
            }
        </style>
    </head>
    <body>
    <a href="https://www.baidu.com">百度</a>
    <a href="http://www.xiaohuar.com">校花网</a>
    <a href="http://www.sogo.com">搜狗</a>
    <input type="text">
    </body>
    </html>
    
    
    
    
    
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            /*p:first-letter {*/
                /*color: red;*/
                /*font-size: 24px;*/
            /*}*/
            p:before {
                content: '*';
                color: green;
            }
            p:after {
                content: '?';
                color: deeppink;
                font-size: 48px;
            }
        </style>
    </head>
    <body>
    <p>继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的</p>
    <p>继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的</p>
    <p>继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的</p>
    <p>继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的</p>
    </body>
    </html>
    

    选择器的优先级

    研究选择器优先级
    		相同选择器 不同的引入方式     就进原则 谁越靠近标签谁输了算
    		不同选择器 相同的引入方式
    	
    	
    		行内样式 > id选择器> 类选择器 > 标签选择器
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            p {
                color:rebeccapurple;
            }
            .c1 {
                color: antiquewhite;
            }
            #p1 {
                color:green;
            }
        </style>
        <link rel="stylesheet" href="mycss.css">
    </head>
    <body>
    <p id="p1" class="'c1" style="color:red">www</p>
    </body>
    内联>id选择器>(伪类=属性选择器=类选择器)>元素选择器>通用选择器>父元素继承样式
    </html>
    

    如何修改标签样式

    样式修改

    宽和高
    with:属性可以为元素设置宽度
    height:属性可以为元素设置高度
    块级标签才能设置宽度,内联标签的宽度由内容来决定
    
    文字字体
    font-family可以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。浏览器会使用它可识别的第一个值。
    
    字体大小
    font-size
    
    字重(粗细)
    font-weight
    normal :默认值,标准粗细
    bold:粗细
    bolder:更粗
    lighter:更细
    100-900:设置具体粗细,400等同于normal,而700等同于bold
    inherit:继承父元素字体的粗细值
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div {
                 400px;
                height: 100px;
            }
            p {
                font-family: "Sitka Banner", "Arial", sans-serif
            }
            p {
                font-size: 16px;
                font-weight: lighter;
            }
        </style>
    </head>
    <body>
    <div>div</div>
    <div>div</div>
    <p>以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。浏览器会使用它可</p>
    </body>
    </html>
    
    <!--
    只有块级标签才能修改宽和高,当设置的宽没有满,默认会用黄色补全,
    因为块级标签就是独占一行的,黄色的部分就是margin
    -->
    

    文本颜色

    颜色属性被用来设置文字的颜色。
    
    颜色是通过CSS最经常的指定:
    
    十六进制值 - 如: #FF0000
    一个RGB值 - 如: RGB(255,0,0)
    颜色的名称 - 如:  red
    还有rgba(255,0,0,0.3),第四个值为alpha, 指定了色彩的透明度/不透明度,它的范围为0.0到1.0之间。
    
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            p {
                /*color: red;*/
                /*color: rgb(0,0,255);*/
                /*color: #FF6700;*/
                color: rgba(0,0,255,0.8);
            }
        </style>
    </head>
    <body>
    <p>以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。浏览器会使用它可</p>
    </body>
    </html>
    

    文本的属性

    text-decoration 属性用来给文字添加特殊效果。
    
    值			    描述
    none	 		 默认。定义标准的文本。
    underline		 定义文本下的一条线。
    overline		 定义文本上的一条线。
    line-through	 定义穿过文本下的一条线。
    inherit			 继承父元素的text-decoration属性的值
    
    
    常用的为去掉a标签默认的自划线:
    a {
      text-decoration: none;
    }
    
    
    文字对齐
    text-align 属性规定元素中的文本的水平对齐方式。
    
    值	    描述
    left	 左边对齐 默认值
    right	 右对齐
    center	 居中对齐
    justify	 两端对齐
    
    
    首行缩进
    将段落的第一行缩进 32像素:
    
    p {
      text-indent: 32px;
    }
    
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            p {
                /*text-align: right;*/
                /*text-decoration: underline;*/
                /*text-decoration: overline;*/
                text-decoration: line-through;
                text-indent: 48px;
            }
            a {
                text-decoration: none;
            }
        </style>
    </head>
    <body>
    <p>以把多个字体名称作为</p>
    <a href="http://www.xiaohuar.com">笑话网</a>
    </body>
    </html>
    

    背景属性

    /*背景颜色*/
    background-color: red;
    /*背景图片*/
    background-image: url('1.jpg');
    /*
     背景重复
     repeat(默认):背景图片平铺排满整个网页
     repeat-x:背景图片只在水平方向上平铺
     repeat-y:背景图片只在垂直方向上平铺
     no-repeat:背景图片不平铺
    */
    background-repeat: no-repeat; 
    /*背景位置*/
    background-position: left top;
    /*background-position: 200px 200px;*/
    
    支持简写
    background:#336699 url('1.png') no-repeat left top;
    

    滚动背景图

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>滚动背景图实例</title>
        <style>
            .d1 {
                height:500px;
                background-color:tomato;
            }
            .box {
                100%;
                height:500px;
                background:url(2..PNG)  center center;
                background-attachment: fixed;
            }
            .d2 {
                height: 500px;
                background-color:steelblue;
            }
            .d3 {
                height:500px;
                background-color:mediumorchid;
            }
    
        </style>
    </head>
    <body style="height: 2000px">
    
    <div class="d1"></div>
    <div class="box"></div>
    <div class="d2"></div>
    
    <div class="d3"></div>
    </body>
    </html>
    

    边框

    边框属性

    • border-width
    • border-style
    • border-color
    #i1 {
      border- 2px;
      border-style: solid;
      border-color: red;
    }
    

    通常使用简写方式:

    #i1 {
      border: 2px solid red;
    }
    

    边框样式

    描述
    none 无边框。
    dotted 点状虚线边框。
    dashed 矩形虚线边框。
    solid 实线边框。

    除了可以统一设置边框外还可以单独为某一个边框设置样式,如下所示:

    #i1 {
      border-top-style:dotted;
      border-top-color: red;
      border-right-style:solid;
      border-bottom-style:dotted;
      border-left-style:none;
    }
    

    画圆

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div {
                200px;
                height:200px;
                background-color:red;
                border:3px solid black;
                border-radius:50% ;
            }
        </style>
    </head>
    <body>
    <div style="'"></div>
    </body>
    </html>
    

    display属性

    用于控制HTML元素的显示效果。
    
    
    display:"none"	:HTML文档中元素存在,但是在浏览器中不显示。一般用于配合JavaScript代码使用。
    display:"block"	:默认占满整个页面宽度,如果设置了指定宽度,则会用margin填充剩下的部分。
    display:"inline":按行内元素显示,此时再设置元素的width、height、margin-top、margin-bottom和float属				    性都不会有什么影响。
    display:"inline-block":	使元素同时具有行内元素和块级元素的特点。
     
    
    display:"none"与visibility:hidden的区别:
    visibility:hidden: 可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。
    display:none: 可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。
    
    
    
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div {
                display: none;
            }
            /*inline将块儿级标签变成行内标签*/
            div {
                display: inline;
            }
            span   {
                display: block;
            }
            /*将选择的标签既具有行内标签特点又有块儿级标签的特点*/
            span {
                display: inline-block;
                height: 400px;
                 400px;
                background-color: red;
                border: 3px solid black;
            }
    
        </style>
    </head>
    <body>
    <div>div</div>
    <div>div</div>
    <span>span</span>
    <span>span</span>
    </body>
    </html>
    

    总结

    CSS:层叠样式表
    
    注释: /*写注释*/
    
    语法结构:
    	选择器 {属性:'属性值';
    			属性1:'属性值1';
    	}
    
    选择器
    	基本选择器
    		标签选择器
    			div {color:red}
    		id选择器
    			#d1 {color:red}
    		类选择器
    			.c1 {color:red}
    		通用选择器
    			* {color:red}
    	组合选择器
    		后代选择器
    			div span {color:yellow}
    		儿子选择器
    			div>span {color:red}
    		毗邻选择器
    			div+span {color:red}
    		弟弟选择器
    			div~span {color:red}
    	属性选择器
    		任何标签都可以设置自定义的属性及属性值
    		[xxx]
    		[xxx='1']
    		span[xxx='1']
    	分组与嵌套
    		div,span,p {color:red}
    		div,#d1,.c1 {color:red}
    	伪类选择器
    		a:link{}
    		a:hover{}
    		a:active{}
    		a:visited{}
    		input:focus{}
    	伪元素选择器
    		p:first-letter{font-size:24px}
    		p:before {
    			content:'#',
    			font-size:24px
    		}
    		p:after {
    			content:'?',
    			font-size:24px
    		}
    	
    	选择器优先级
    		行内样式 > id选择器 > 类选择器 > 标签选择器
    		
    长宽:
    	width
    	heigth
    
    字体属性
    	font-family
    	font-size
    	font-weigth
    
    背景
    	背景颜色
    	背景图片
    		如果背景图片尺寸小于所在的区域尺寸那么默认情况下
    		是铺满整个区域
    		可以通过指定参数来控制是否铺满
    		no-repeat
    		repeat-x
    		repeat-y
    		center center
    		15px	20px
    	
    		backgroud:背景颜色 背景图片 是否铺满 位置
    
    文字属性
    	text-align:center;
    	
    	text-decoration:none;  主要就是用于去除a标签自带的下划线
    	
    	text-indent:48px;  用于首行缩进
    	
    	ul {list-style-type:none}
    	
    	
    
    边框
    	border-style
    	border-size
    	border-color
    	
    	border:3px solid red;
    	border-left:3px solid red;
    	border-top:3px solid red;
    	border-right:3px solid red;
    	border-bottom:3px solid red;
    	
    	
    display
    	div {display:none}  不显示不占位
    				inline
    				block
    				inline-block  让行内标签也能设置长宽
    
    画圆
    	div {border-radius:50%;}
  • 相关阅读:
    转载 轻松搞定面试中的二叉树题目
    关于AVplayer 缓冲问题的处理
    关于iOS接收到推送消息后跳转问题
    iOS 黑魔法
    UITableView的优化
    OC是动态运行时语言是什么意思?什么是动态识别,动态绑定?
    iOS深复制和浅复制
    iOS内存管理(ARC,MRC)
    iOS数据持久化
    详解KVO,KVC
  • 原文地址:https://www.cnblogs.com/huangxuanya/p/10946976.html
Copyright © 2011-2022 走看看