了解css样式

我们如何才能写出一个精致漂亮的页面呢,这里就需要我们的css样式了,而我们的css样式需要写在哪呢,接下来我们上代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <!-- 写样式的位置,相当于化妆间 -->
        <style type="text/css">
                    <!--在这里写我们的css样式-->
                </style>
<body>

</body>
</html>

我们写样式的时候需要注意的点有哪些呢?这里我写的比较通俗易懂些

样式包含两部分:
     选择器	申明
        		属性:值;
        				
     css的语法规则:选择器{属性:值}
        		
     写样式步骤:
        	准备人(指定要修改样式的标签)
        	准备化妆间(在head标签里面写上style标签)
        	指定人进入化妆间开始化妆(选择器{属性:值;})
        			
        	样式的基本规则:
        		1:属性与值之间用英文冒号连接,分号结束
        		2:属性与属性之间可以空格,可以换行,没有先后顺序
        		3:一个属性中有多个属性值时,属性值与属性值之间用空格隔开,没有先后顺序
        		4:属性与属性值必须在花括号中

通过上面的规则来写我们css样式

那我们的样式有哪几种写法呢?

      样式三种写法:
                1:内部样式 存在head标签中
                2:内联样式 以属性style的方式添加在标签中
                3:外部样式
                    创建独立的html页面,并在页面head标签中添加
                        <link rel="stylesheet" href="文件地址">
                            另一种引入方式:
                                在style标签第一行添加
                                @import url(css文件地址)
                        创建独立的css文件
                        
                样式表权重关系
                    外部样式 内部样式  < 内联样式
                        就近原则

我们用css样式来渲染样式到页面上呢,这里就需要我们的选择器

选择器:
                    类型选择器(标签选择器):div span h1 p ...
                    
                    类选择器(class选择器):选中指定的元素,在一个页面中可以多次出现
                        1:在标签中添加属性 class="mz"
                        2:在样式中得选择器 .mz{}
                        
                    id选择器:选中指定的元素,在一个页面中相同值只允许出现一次
                        1:在标签中添加属性 id="mz"
                        2:在样式使用添加选择器#mz{}
            伪类选择器: :link{} 未访问之前的状态 :visited{} 访问过后的状态 :hover{} 鼠标悬停的状态 :active{} 鼠标按下的状态 注意:有顺序要求 love hate   通配符 * 匹配页面所有的元素   群组选择器 选择器1,选择器2,选择器3{}   包含选择器(后代选择器)选择器1 选择器2 选择器3{}

我们在同一选择器下的css样式会后写的覆盖前面的写的样式,但是有些时候我们后写的样式无法成功渲染,这是为什么呢,这是因为选择器有权重问题

选择器权重对比
                id > class > 类型选择器
                100       10         1
                
                内联样式选择器权重值 1000
                
                包含选择器权重值为各个选择器权重之和
                
                css层叠性:
                    指的就是css优先加载权重高的

了解我们css的一些规则之后,我们开始学习css有那些常用的属性

css属性:
                color:文本颜色;
                    颜色单词:red blue...
                    十六进制:#00ddff #0df aabbcc才可以缩写
                        取值范围0-9 a-f
                    三原色:rgb(0,0,0) red green blue
                        取值范围是0-255
                        
                font-size:文本大小;
                    px
                    最小文本12px
                    默认显示文本16px
                    9pt = 12px
                    em    跟随最近的父级文本大小
                    rem 跟随根元素(html)的文本大小
                    
                font-weight:文本是否加粗;
                    bold    加粗
                    normal    常规文本(不加粗)
                    bolder     更加粗
                    100-400    变细
                    500        常规文本
                    600-900    加粗
                    
                font-style:倾斜;
                    normal    常规文本(不倾斜)
                    italic    倾斜
                    oblique 倾斜
                    
                line-height:行高;(控制文本垂直方向的对齐方式)
                    行高值 < 高度值         偏上
                    行高值 = 高度值        垂直居中
                    行高值 > 高度值        偏下
                    注意:针对单行文本设置
                    
                font-family:字体1,字体2,字体3;
                    1:中文字体加引号
                    2:多个英文单词的字体加引号
                    3:多个字体之间用逗号
                    4:单个英文单词字体不需要加引号
                    
                综合写法:    
                font:倾斜 加粗 文本大小/行高 字体;
                
                text-align:文本水平对齐方式;
                    left    左对齐(默认值)
                    center    居中
                    right    右对齐
                    justify    两端对齐
                    
                边框
                border:边框粗细 边框形态 边框颜色;
                    border-top:;顶部边框
                    border-right:;右边框
                    border-bottom:;底部边框
                    border-left:;左边框
                    三角形:
                        width:0;
                        height:0;
                        border:10px solid transparent;颜色透明
                        border-top-color:red;
                        
                text-decoration:文本修饰;
                    none    ,没有修饰
                    overline    上划线
                    line-through    中划线
                    underline    下划线
                    
                letter-spacing:字符间距;
                    px    
                    
                word-spacing:词间距;
                    px
                    
                text-indent:首行缩进;
                    em
                    针对文本段落第一行设置
                    
                list-style:列表修饰;
                    list-style:; = list-style-type:;
                    list-style-type:;
                        disc    实心圆
                        circle    空心圆
                        square    实心方块
                        none    没有修饰
                    list-style-image:url("图片地址");
                    list-style-position:图片位置;
                        outside    外部
                        inside    内部
                        
            页面垂直布局:
                顶部区域
                轮播图区域
                内容区域
                底部区域

                        背景相关属性:
            background-color:背景颜色;
                颜色单词:red green...
                十六进制值:#aabbcc    #abc
                    取值范围:0-9 a-f
                三原色值:rgb(0,0,0) 0-255
                
            background-image:url("图片路径");
                默认情况是平铺的
                与img标签的区别:
                    img是标签,是结构,占据页面位置
                        挂在墙上的一幅画,可以盖住背景图
                    background-iamge:;是css样式,不占据位置
                        画在墙上的一幅画,被img盖住
                        
            background-repeat:是否平铺;
                repeat    平铺(默认值)
                no-repeat    不平铺
                repeat-x    水平平铺
                repeat-y    垂直平铺
                
            background-position:背景定位;
                关键字:
                    水平值 left center right
                    垂直值 top center bottom

                        浮动的属性:
                float:;
                left    左浮动
                right    右浮动
                none    不浮动
            浮动的目的:
                让竖着的元素横着来
                
            浮动效果    
                1:左浮动找左边,右浮动找右边
                2:浮动只影响后面的元素,不影响前面的元素
                3:父级元素的宽度小于浮动子元素的总宽度,子元素将*换行
                4:子元素高度不一致的浮动元素*换行时,可能会被卡住
                5:结构先写的先浮动,后写的后浮动
                6:图文混排(图文环绕)
                7:浮动产生的问题,父级元素高度塌陷
                    解决办法:给父元素添加height:;

在我们的css中还有盒模型,我们也一起了解下吧

外边距:改变元素外边的间距
            内边距:改变元素与内容的间距
                padding:一个值;一个值,改变4个方向
                padding:上下  左右;
                padding:上 左右 下;
                padding:上 右 下 左;顺时针方向变化
                
                padding-top:顶部内边距;
                padding-right: 右内边距;
                padding-bottom: 底部内边距;
                padding-left:左内边距;
                注意:内边距没有负值;
                
                margin:四个方向;
                margin:上下 左右;
                margin:上 左右 下;
                margin:上 右 下 左;
                
                margin-top:上外边距;
                margin-right:右外边距;
                margin-bottom:下外边距;
                margin-left:左外边距;
                注意:margin可以为负值,auto自适应
            
            margin常见bug:
                1:上下外边距相遇,只显示较大值
                2:嵌套关系的元素,子元素的上外边距和父元素的上外边距相遇,取较大值
            
            盒模型占位大小计算:
                w = width+左右边框+左右内边距+左右外边距
                h = height+上下边框+上下内边距+上下外边距

我们有的时候需要计算盒子的占位大小,因为这会影响我们整个页面的布局,如果不及时解决,到时整个页面都会因你这个问题牵一发而动全身,在这里我准备了个小案例让大家了解下如何计算盒模型的占位大小

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            *{
                margin: 0;
                padding: 0;
            }
            .box{
                width: 200px;
                height: 200px;
                background: red;
                border: 10px solid #000;
                margin: 30px 20px;
                padding: 10px 4px;
            }
        </style>
    </head>
    <body>
        <!--
            盒模型占位大小计算:
            w = width+左右边框+左右内边距+左右外边距
                200+10+10+4+4+20+20
            h = height+上下边框+上下内边距+上下外边距
                200+20+20+60
                
                200+8+1+10
                200+8+3+10
        -->
        <div class="box"></div>
    </body>
</html>

以上就是我们常用的css属性,其实还有很多,我这里就不一一列举了,有兴趣的同学可以去W3C看下,谢谢

了解css样式

上一篇:vue.js库的下载与使用


下一篇:如何修复 WordPress 中的 HTTP 错误