前端——CSS样式

分组与嵌套

div,p,span {  /*逗号表示并列关系*/
    color: yellow;
}
#d1,.c1,span {
    color:orange;
}

选择器补充

伪类选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body {
            background-color: black;
        }
        a:link {  /*访问之前的状态*/
            color: red;
        }
        a:hover {  /*需要记住*/
            color: aqua;  /*鼠标悬浮态*/
        }
        a:active {
            color: black;  /*鼠标点击不松开的状态  激活态*/
        }
        a:visited {
            color: darkgray;  /*访问之后的状态*/
        }
        p {
            color: darkgray;
            font-size: 48px;
        }
        p:hover {
            color: white;
        }
        
        input:focus {  /*input框获取焦点(鼠标点了input框)*/
            background-color: red;
        }
    </style>
</head>
<body>
<a href="https://www.jd.com/">单纯的超链接</a>
<p>点点点</p>
<input type="text">
</body>
</html>

伪元素选择器

p:first-letter { /*指定文本第一个字符的样式*/
            font-size: 48px;
            color: orange;
        }
/*before与after添加的内容用户均不可选中*/
p:before {  /*在文本开头 同css添加内容*/
            content: '你说的对';
            color: blue;
        }
p:after { /*在文本末尾 同css添加内容*/
            content: '雨露均沾';
            color: orange;
        }
/*ps:before和after通常都是用来清除浮动带来的影响:父标签塌陷的问题*/

选择器优先级

<!--
id选择器
类选择器
标签选择器
行内式

1.选择器相同
      根据从上到下的顺序执行,上面的css样式会被下面覆盖
2.选择器不同
      行内 > id选择器  > 类选择器 > 标签选择器
      精确度越高越有效
-->	

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*
            1.选择器相同
                根据从上到下的顺序执行,上面的css样式会被下面覆盖
            2.选择器不同
                行内 > id选择器  > 类选择器 > 标签选择器
                精确度越高越有效
        */
        #d1 {
            color: aqua;
        }
        .c1 {
            color: orange;
        }
        p {
            color: red;
        }
    </style>
<!--<link rel="stylesheet" href="mycss1.css">-->
</head>
<body>
    <p id="d1" class="c1" style="color: blue">选择器优先级</p>
</body>
</html>

CSS属性

长宽属性

div {
    background-color:red;
    width:70%;
    height:100%;
}

字体属性

p {
    /*设置字体,可以写多个用逗号分隔,字体不生效就自动使用后面设置的备用字体*/
    font-family: "微软雅黑","Arial Black","...";
    font-size:18px; /*设置字体大小*/
    
    /*bolder加粗,lighter变细,数值范围100~900,inherit继承父元素的粗细值*/
    font-weight:inherit; 
    color:red; /*通过单词指定字体颜色*/
    color:#232323; /*通过颜色十六进制数指定字体颜色*/
    color:rgb(111,111,111); /*通过rgb指定字体颜色*/
    /*前三个参数与rgb相同,范围为0~255,最后一个参数表示透明度,范围0~1*/
    color:rgba(111,111,111,0.1);
}

文本属性

p {
    text-align:center; /*文字居中显示*/
    text-align:left; /*文字左对齐显示*/
    text-align:right; /*文字右对齐显示*/
    text-align:justify; /*文字两端对齐显示*/
    
    text-decoration:underline; /*文字下划线*/
    text-decoration:overline; /*文字上划线*/
    text-decoration:line-through; /*与s标签的删除线效果相同*/
    text-decoration:none; /*普通文本,主要给a标签使用,来去除a标签默认的下划线*/
    
    text-indent: 2em; /*文章的首行缩进*/
}

背景属性

div {
    background-color:red; /*设置背景颜色*/
    background-imge: url("图片路径"); /*设置背景图片,默认铺满整个div*/
    background-repeat:no-repeat; /*不平铺图片*/
    background-repeat:repeat-x;
    background-repeat:repeat-y;
    background-attachment: fixed; /*固定背景,使其不会随着页面滑动而滑动*/
    /*
     其实浏览器不是一个平面  是一个三维立体结构
     z轴指向用户 越大离用户越近
    */
    
    /*使背景图水平垂直居中,第一个参数为水平方向第二个参数为垂直方向*/
    background-position:center center; 
    
    /*如果出现了多个属性名前缀是一样的情况 一般情况下都可以简写*/
    background: red url("222.png") no-repeat center center;
}

边框

div{
    /*指定边框的粗细, top代表指定上边框,其他的还有left、right、bottom*/
    border-top-width: 5px; 
    border-top-color:red; /*颜色单词指定颜色,rgb指定颜色,十六进制数指定颜色*/
    
    /*指定边框样式 实线:solid,点线:dotted,虚线:dashed*/
    border-top-style:solid; 
    
    /*简写,三者位置随意,用空格分隔即可*/
    border:3px solid red;
    
    /*设置边框圆角,设置为50%时等宽高情况下为圆,否则为椭圆*/
    border-radius:50% /*可以以px像素为单位即border-radius: 5px;*/
}

display属性

div {
    display:none; /*隐藏标签,标签仍存在,原来的位置不再占有*/
    visibility: hidden; /*隐藏标签,原来的位置仍然存在,只是单纯的隐藏*/
    display:inline; /*将标签变成行内标签的特点*/
    display:block; /*将标签变成块级标签的特点*/
    display:inline-block; /*将标签变成行内块元素(既可以同行又能够设置宽高)*/
}

盒子模型

/*
盒子模型
	快递盒与快递盒之间的距离(标签与标签之间的距离 margin外边距)
	盒子的厚度(标签的边框 border)
	盒子里面的物体到盒子的距离(内容到边框的距离  padding内边距)
	物体的大小(内容 content)

如果你想要调整标签与标签之间的距离 你就可以调整margin
浏览器会自带8px的margin,一般情况下我们在写页面的时候,上来就会先将body的margin去除
	body {margin: 0;}
*/
div {
    margin: 0; /*上下左右全是0*/
    margin: 10px 20px; /*第一参数表示上下,第二参数表示左右*/
    margin: 10px 20px 30px; /*第一参数表示上,第二参数表示左右, 第三参数表示下*/
    margin: 10px 20px 30px 40px; /*上 右 下 左*/
    margin: 0 auto; /*标签的水平居中,不能够实现垂直居中*/
    /*margin可以指定只修改一边*/
    	margin-left: 0; /*左外边距*/
    	margin-top: 0; /*上外边距*/
    	margin-right: 0; /*右外边距*/
    	margin-bottom: 0; /*下外边距*/
}

/*
id为top的div位于id为bottom的div之上时,
top与bottom之间的外边距不会叠加而是取最大外边距也就是30px
即top与bottom之间的距离为30px
*/
#top {
    margin-bottom: 20px;
}
#bottom {
    margin-top: 30px;
}


div {
    border: 3px solid red;
    padding-left: 0; /*左内边距*/
    padding-top: 0; /*上内边距*/
    padding-right: 0; /*右内边距*/
    padding-bottom: 0; /*下内边距*/
    
    /*规律和margin一模一样*/
    padding: 10px; /*上下左右*/
    padding: 10px 20px; /*上下 左右*/
    padding: 10px 20px 30px; /*上 左右 下*/
    padding: 10px 20px 30px 40px;  /*上 右 下 左*/
}

浮动

"""浮动的元素 没有块级一说 本身多大浮起来之后就只能占多大"""
body {
    margin:0;
}
#d1 {
    height:200px;
    width:200px;
    background-color: darkred;
    float: left; /*左浮动*/
}
#d1 {
    height:200px;
    width:200px;
    background-color: skyblue;
    float: right; /*右浮动*/
}

浮动的影响

<!--会造成父标签塌陷问题-->

<!--
解决方法:
	1、再加一个div设置高度
	2、利用clear属性
		#d4 {
			clear: left; /*该标签的左边不能有浮动的元素*/
		}
	3、通用的解决浮动带来的影响的方法
		在设计时就提前写好处理浮动影响的css代码
	   .clearfix:after {
			content: '';
			clear: both;
			display: block;
		}
	之后只要标签出现了塌陷的问题就给该塌陷的标签加一个clearfix属性即可
-->
posted @ 2020-05-13 17:34  群青-Xi  阅读(192)  评论(0编辑  收藏  举报