心得:哪里有什么心得,在我这个年纪真的睡不着觉,知道什么是觉醒吗?不后悔自己踏出的每一步。

一、什么是 CSS?

  • CSS 指层叠样式表 (Cascading Style Sheets)
  • 样式定义如何显示 HTML 元素
  • 样式通常存储在样式表中
  • 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题
  • 外部样式表可以极大提高工作效率
  • 外部样式表通常存储在 CSS 文件中
  • 多个样式定义可层叠为一
  • 样式对网页中元素位置的排版进行像素级精确控制

二、语法

选择器通常是您需要改变样式的 HTML 元素。每条声明由一个属性和一个值组成,属性和值被冒号分开。所以我们着重要看的就是选择器和相应属性的用法。

示例和注释

p { color: #ff0000; }
/*这是个注释*/

引入方式

  1. 外部样式表
    通过在html中定义link引入外部css样式 <link rel="stylesheet" href="beijing.css">
  2. 内部样式表
    通过在head中定义style来引入样式<style> #c1 { background:red; height:500px } </style>
  3. 内联样式
    在标签内部定义样式<p style="color:sienna;margin-left:20px">这是一个段落。</p>

三、选择器

元素选择器
p {color: "red";}

  1. id选择器
    井号隔开 #number { background-color: red; }

  2. 类选择器,逗号分组
    点隔开 .c1,p.c2 { color: red; }

  3. 通用选择器
    *{margin:0;} 或者body{margin:0;}

  4. 后代选择器
    空格隔开 li a {color:green;} 对中间隔几层不敏感

  5. 儿子选择器
    大于号隔开 li a {color:green;} 必须是层级,一层一层

  6. 毗邻选择器
    择所有紧接着<div>元素之后的<p>元素
    div+p { margin: 5px; }

  7. 弟弟选择器
    i1后面所有的兄弟p标签#i1~p { border: 2px solid royalblue; }

  8. 伪类选择器

/* 未访问的链接 */
a:link {color: #FF0000
}/* 已访问的链接 */
a:visited {color: #00FF00
} /* 鼠标移动到链接上 */
a:hover {color: #FF00FF
} /* 选定的链接 */
a:active {color: #0000FF
}/*input输入框获取焦点时样式*/
input:focus {outline: none;background-color: #eee;
}
  1. 伪元素选择器
p:first-letter {font-size: 48px;color: red;
}

before和after多用于清除浮动

/*在每个<p>元素之前插入内容*/
p:before {content:"*";color:red;
}
/*在每个<p>元素之后插入内容*/
p:after {content:"[?]";color:blue;
}
  1. 选择器的优先级

四、CSS属性和属性值

1. 宽和高
width属性可以为元素设置宽度。
height属性可以为元素设置高度。
块级标签才能设置宽度,内联标签的宽度由内容来决定。

2. 字体属性

  1. 字体
    font-family 属性应该设置几个字体名称作为一种"后备"机制,如果浏览器不支持第一种字体,他将尝试下一种字体。多个字体系列是用一个逗号分隔指明:
p{font-family:"Times New Roman", Times, serif;}
  1. 大小
h2 {font-size:30px;}
p {font-size:14px;}
  1. 粗细
p.normal {font-weight:normal;}
p.light {font-weight:lighter;}
p.thick {font-weight:bold;}
p.thicker {font-weight:bolder;}
p.thicker {font-weight:900;}

3. 文本属性

  1. 颜色
    颜色是通过CSS最经常的指定:
    十六进制值 - 如"#FF0000"
    一个RGB值 - “RGB(255,0,0)”
    颜色的名称 - 如"red"
body {color:blue;}
h1 {color:#00ff00;}
h2 {color:rgb(255,0,0);}
  1. 文本的对齐方式
h1 {text-align:center;}
p.date {text-align:right;}
p.main {text-align:justify;}

当text-align设置为"justify",每一行被展开为宽度相等,左,右外边距是对齐

  1. 文本修饰
/*常用的为去掉a标签默认的自划线:*/
a {text-decoration: none;
}
  1. 缩进
p {text-indent: 32px;
}
  1. 行高
p.small {line-height:90%}
p.big {line-height:200%}
  1. 字间距
h1 {letter-spacing:2px} 字母间距
p
{ word-spacing:30px; }  指定段字之间的空间,应该是30像素:

4. 背景

/*背景颜色*/
body {background-color:#b0c4de;}
/*背景图片不重复*/
body
{
background-image:url('img_tree.png');
background-repeat:no-repeat;
}
/*背景位置*/
background-position:right top;
/*一次声明*/
body {background:#ffffff url('img_tree.png') no-repeat right top;}
/*固定图片*/
{background-attachment:fixed;}

5. 边框
CSS 边框 (border) 可以是围绕元素内容和内边距的一条或多条线

  1. border-width 指定边框的宽度
  2. border-style 指定边框的样式
  3. border-color 指定边框的颜色:

border-color:红,绿,蓝,粉红色;
上边框是红色
右边框是绿色
底部边框是蓝
左边框是粉红色

p
{border:5px solid red;
}

将border-radius设置为长或高的一半即可得到一个圆形。

6. display属性
block将内联标签显示为块级标签
inline将块级标签显示为内联标签

7. 盒子模型

  1. Margin(外边距)
    清除边框区域。Margin没有背景颜色,它是完全透明
  2. Border(边框)
    边框周围的填充和内容。边框是受到盒子的背景颜色影响
  3. Padding(内边距)
    清除内容周围的区域。会受到框中填充的背景颜色影响
  4. Content(内容)
    盒子的内容,显示文本和图像

    总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距
    总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距

简写顺序:上右下左

/*上右下左*/
.margin-test {margin: 5px 10px 15px 20px;/*居中*/
.mycenter {margin: 0 auto;
}
}

8. 浮动float

  1. CSS float 属性定义元素在哪个方向浮动,浮动元素会生成一个块级框,直到该块级框的外边缘碰到包含框或者其他的浮动框为止。
    left:向左浮动
    right:向右浮动
    none:默认值,不浮动
    8.1 注意:浮动的标签会脱离文档流,会使之后的标签占据它当前的位置会造成重叠,如下c2占据的起始位置在c1处:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>浮动</title><style>.c1 {float:left;width:100px;height:100px;border:1px solid black;}.c2{width:200px;height:200px;border:1px solid red;}</style>
</head>
<body>
<div class="c1"></div>
<div class="c1"></div>
<div class="c2"></div>
</body>
</html>


在c2中加入了clear:left;后,另起一行开始

8.2子元素浮动之后,子元素脱离了文档,导致父标签失去了内容,导致文档坍塌f
浮动前:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>浮动父标签</title><style>.c1{width:50px;height:50px;border:1px solid black;}.father{background-color:red;}</style>
</head>
<body>
<div class="father"><div class="c1"></div><div class="c1"></div><div class="c1"></div>
</div>
</body>
</html>


设置float:left浮动后,父标签的背景色消失:

为了不干扰之后的元素和父标签的内容,需要清除浮动:
在浮动元素的同级的最后一个空块级标签内加入clear清除浮动

  1. 清除浮动clear
    清除浮动后会另起一行
    元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用 clear 属性。

    伪元素清除法
.clearfix:after {content: "";display: block;clear: both;
}

将需要清除浮动的标签中加入类clearfix

9. overflow溢出

当空间不够显示时,可以使用此属性

10. 定位position

  1. Fixed 定位
    即使窗口是滚动的它也不会移动
  2. Relative 定位
    相对定位元素的定位是相对其正常位置
h2.pos_right
{
position:relative;
left:20px;
}
  1. Absolute 定位
    绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>:
h2
{
position:absolute;
left:100px;
top:150px;
}
  • z-index
    设置对象层叠顺序
  • z-index 值表示谁压着谁,数值大的压盖住数值小的,
  • 只有定位了的元素,才能有z-index,也就是说,不管相对定位,绝对定位,固定定位,都可以使用z-index,而浮动元素不能使用z-index

CSS实例1:

HTML代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>我的博客</title><link rel="stylesheet" href="blog.css">
</head>
<body>
<!--左边的导航栏-->
<div class="left"><div class="img"><img src="little_pig.jpg" alt=""></div><div class="name">小猪猪的博客</div><div class="text">这头猪很懒,没有什么要说的</div><ul><li><a href="#">关于我</a></li><li><a href="#">微博</a></li><li><a href="#">公众号</a></li></ul><ul><li><a href="#">Python</a></li><li><a href="#">C语言</a></li><li><a href="#">JAVA</a></li></ul>
</div>
<!--右边的内容-->
<div class="right"><div class="article"><div class="title"><a href="#">Python从入门到放弃</a></div><div class="date">2020.01.16</div><div class="content">在苍茫的大海上,狂风卷积着乌云。在乌云和大海之间,海燕像黑色的闪电,在高傲的飞翔。</div><div class="tag">#HTML #CSS</div></div><div class="article"><div class="title"><a href="#">Python成就之路</a></div><div class="date">2020.01.16</div><div class="content">在苍茫的大海上,狂风卷积着乌云。在乌云和大海之间,海燕像黑色的闪电,在高傲的飞翔。</div><div class="tag">#HTML #CSS</div></div><div class="article"><div class="title"><a href="#">Python的血泪史</a></div><div class="date">2020.01.16</div><div class="content">在苍茫的大海上,狂风卷积着乌云。在乌云和大海之间,海燕像黑色的闪电,在高傲的飞翔。</div><div class="tag">#HTML #CSS</div></div><div class="article"><div class="title"><a href="#">Python的简洁之美</a></div><div class="date">2020.01.16</div><div class="content">在苍茫的大海上,狂风卷积着乌云。在乌云和大海之间,海燕像黑色的闪电,在高傲的飞翔。</div><div class="tag">#HTML #CSS</div></div>
</div>
</body>
</html>

CSS代码:

* {margin: 0;
}body {background-color: #eee;line-height: 1.2;
}a {text-decoration: none;color: inherit;
}/* 左侧边栏样式 开始 */
.side-bar {width: 20%;position: fixed;height: 100%;float: left;color: #eee;background-color: #4d4d4d;
}
.side-bar>* {padding: 20px 15px;
}/* .header .logo {line-height: 1;font-size: 30px;display:inline-block;margin-bottom: 15px;
} */.header>* {margin: 10px 0;
}.header .logo {display: block;border: 5px solid #fff;margin: 0 auto;position: relative;overflow: hidden;width: 128px;height: 128px;border-radius: 50%;
}.header .author-name {text-align: center
}.logo>img {max-width: 100%;
}.side-bar .nav a,
.side-bar .tag-list a {display: block;padding: 5px;color: #888;transition: color 200ms;
}.side-bar .nav a:hover,
.side-bar .tag-list a:hover {color: #eee
}.side-bar .nav a {font-weight: bold;
}
/* 左侧边栏样式 结束 *//* 右侧内容区 */
.main {width: 80%;float: right;color: black;
}.article-list {padding: 20px;margin-right: 10%;
}
.main .article {background-color: white;padding: 15px;margin-bottom: 20px;box-shadow: 3px 3px 3px rgba(0,0,0, 0.2)
}.article-header {padding-bottom: 15px;
}.article-title {font-size: 24px;font-weight: bold;
}
.article-date {float: right;
}
.article-tag {margin-top: 20px;border-top: 1px solid #eee;padding: 15px 0;
}

css实例2:
实现一个小米商城的网页排列:
1

2

3

HTML代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>小米商城</title><link rel="stylesheet" href="mi.css"></head>
<body>
<!--顶部导航栏开始-->
<div class="bar"><div class="content"><div class="left_bar"><ul class=""><li class="left_bar_li"><a href="">玉米商城</a></li><li class="left_bar_li"><a href="">咖啡商城</a></li><li class="left_bar_li"><a href="">橙汁商城</a></li><li class="left_bar_li"><a href="">葡萄商城</a></li><li class="left_bar_li"><a href="">苹果商城</a></li></ul></div><div class="right_bar"><ul class="clearfix"><li class="right_bar_li"><a href="">登录</a></li><li class="right_bar_li"><a href="">注册</a></li><li class="right_bar_li"><a href="">消息</a></li><li class="right_bar_li"><a href="">购物车</a></li></ul></div></div></div><!--顶部导航栏结束--><!--主菜单开始-->
<div class="main">
<!--    主菜单导航栏开始--><div class="header"><div class="logo cargo"><img src="./img/logo.png" alt=""><img src="./img/logo_r.png" alt=""></div><ul class="top_menu"><li class="cargo"><a href="">玉米手机</a></li><li class="cargo"><a href="">苞米</a></li><li class="cargo"><a href="">电视</a></li><li class="cargo"><a href="">爆米花</a></li><li class="cargo"><a href="">路由器</a></li><li class="cargo"><a href="">智能硬件</a></li><li class="cargo"><a href="">服务</a></li><li class="cargo"><a href="">社区</a></li></ul><div class="search clearfix"><input class="input" type="text"><button>搜索</button></div></div>
<!--    主菜单导航栏结束--><!--    主菜单开始--><div class="menu_"><div class="left_menu"><ul><li><a href="">手机 电话卡</a></li><li><a href="">电视 盒子</a></li><li><a href="">笔记本</a></li><li><a href="">智能 家电</a></li><li><a href="">健康 家居</a></li><li><a href="">出行 儿童</a></li><li><a href="">路由器 手机配件</a></li><li><a href="">移动电源 插线板</a></li><li><a href="">耳机 音箱</a></li><li><a href="">生活 米兔</a></li></ul></div><div class="right_menu clearfix"><img src="./img/carousel.png" alt=""></div></div><!--    主菜单结束-->
<!--    广告开始--><div class="adv clearfix"><div class="one"><a href=""><img src="./img/pic0.png" alt=""></a></div><div class="two"><a href=""><img src="./img/pic1.png" alt=""></a></div><div class="three"><a href=""><img src="./img/pic2.png" alt=""></a></div><div class="four"><a href=""><img src="./img/pic3.png" alt=""></a></div></div>
<!--    广告结束-->
<!--    快速闪购开始--><div class="flash clearfix"><h2>快速闪购</h2><div class="flash_left"><a href=""><img src="./img/flash0.png" alt=""></a></div><div class="flash_left"><a href=""><img src="./img/flash1.png" alt=""></a></div><div class="flash_left"><a href=""><img src="./img/flash2.png" alt=""></a></div><div class="flash_left"><a href=""><img src="./img/flash1.png" alt=""></a></div><div class="flash_left"><a href=""><img src="./img/flash2.png" alt=""></a></div></div>
<!--    快速闪购结束-->
<!--    热评开始--><div class="comment clearfix"><h2>热评商品</h2><div class="comment1"><img src="./img/item11.png" alt=""><p class="goods_comment"><a href="">东西真心不错,用过最好用的插线板,做工外观没得挑剔,3个USB接口很实用,充电快,建议不包邮的应该在.</a></p><p class="from"><a href="">来源于水军1号的评价</a></p><p class="price"><a href="">玉米插线板 | 49元</a></p></div><div class="comment1"><img src="./img/item12.png" alt=""><p class="goods_comment"><a href="">东西真心不错,用过最好用的插线板,做工外观没得挑剔,3个USB接口很实用,充电快,建议不包邮的应该在.</a></p><p class="from"><a href="">来源于水军1号的评价</a></p><p class="price"><a href="">玉米插线板 | 49元</a></p></div><div class="comment1"><img src="./img/item11.png" alt=""><p class="goods_comment"><a href="">东西真心不错,用过最好用的插线板,做工外观没得挑剔,3个USB接口很实用,充电快,建议不包邮的应该在.</a></p><p class="from"><a href="">来源于水军1号的评价</a></p><p class="price"><a href="">玉米插线板 | 49元</a></p></div><div class="comment1"><img src="./img/item12.png" alt=""><p class="goods_comment"><a href="">东西真心不错,用过最好用的插线板,做工外观没得挑剔,3个USB接口很实用,充电快,建议不包邮的应该在.</a></p><p class="from"><a href="">来源于水军1号的评价</a></p><p class="price"><a href="">玉米插线板 | 49元</a></p></div></div>
<!--    热评结束-->
</div>
<!--主菜单结束--><!--结束导航-->
<div class="over"><ul class="over_li"><li class="fir"><a href="">预约维修</a></li><li><a href="">7天无理由退货</a></li><li><a href="">15天免费换货</a></li><li><a href="">满150元包邮</a></li><li class="last"><a class="las" href="">520余家售后网点</a></li></ul>
</div>
</body>
</html>

CSS代码:

/*初始化浏览器默认边距和内填充*/
*{margin:0;
padding:0;
}
/*去掉ul标签的圆点*/
ul{list-style-type:none;
}
/*去掉a标签的下划线*/
a{font:white;
text-decoration:none;
}
/*鼠标触碰到a标签时的颜色*/
a:hover{background-color:orange;
}
/*清除浮动的方法,需要清除时,可以直接使用属性clearfix,使用后会在下一行排列*/
.clearfix:after{content:"";
display:block;
clear:both;
}
/*固定导航栏的背景色和大小*/
.bar{display:block;
width:100%;
height:50px;
background-color:grey;
position:fixed;
top:0;
}
/*调整内容*/
.content{width:1226px;
margin:15px auto;
}
/*左飘*/
.left_bar_li{float:left;
padding-right:15px;
}
/*右飘*/
.right_bar_li{float:right;
padding-left:15px;
}
/*设置主文框架*/
.main{width:1226px;
margin:0 auto;
}
/*将内容下移*/
.header{margin:50px auto;
}
/*左飘*/
.cargo{float:left;
padding-right:15px;}.top_menu{padding-top:20px;
}.logo{margin-right:15px;
}
/*设定搜索框*/
.search{width: 300px;height: 50px;float:right;
}.search input {border: 1px solid #e0e0e0;width: 80%;
}
.search button {border: 1px solid #e0e0e0;width: 19%;
}
/*左飘*/
.search input,
.search button {padding: 10px 0;display: block;float: left;
}.left_menu{width: 234px;
float:left;
background-color: #0a3651;
padding: 20px 0;
}.left_menu a{color: white;display: block;height: 42px;line-height: 42px;padding: 0 25px;
}.right_menu {width: 992px;
float:right;
}.one , .two , .three, .four{float:left;
margin:30px 10px 0 0;
}h2{margin:15px 0;
}.flash_left{float:left;
margin:15px 10px 20px 0;
}.comment1{width:296px;
background-color:#f1ece4;
float:left;
margin-right:10px;
}.goods_comment{padding:10px 10px;
}.from{height: 18px;margin: 0 48px 8px;padding: 0 10px 0 0;font-size: 12px;
}.price {color: redfont-weight:bolder;margin: 0 48px 8px;padding: 0 10px 0 0;
}.over{margin-top:50px;
width:100%;
height:70px;
background-color:#e8e1e1;
}.over_li>li{float:left;
padding:30px;}.over_li .fir{margin-left:300px;
}.over_li a{border-right:1px solid black;
padding-right:30px;
}
/*去掉右边框*/
.over_li .las{border-right:none;
}

第五十一篇 前端之CSS内容相关推荐

  1. 第五十一篇 并发编程——多进程

    目录 第五十一篇 并发编程--多进程 一.什么是进程 经典举例说明进程,以及切换 二.进程与程序 三.线程 进程和线程的关系 四.进程PID与PPID 1.PID 2.PPID 五.并发与并行,阻塞与 ...

  2. “约见”面试官系列之常见面试题之第五十一篇之CSS Sprites(建议收藏)

    CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式.它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢 ...

  3. s-100系列电子海图与s57电子海图的区别,电子海图开发一百篇第五十一篇

    根据IHO公开发布的信息,随着全球海洋开发的发展,为了突破S-57标准限制,在2000年IHO批准了修订S-57标准的计划,并最终于2010年形成了-个新的地理空间框架标准s-100--通用海道数据模 ...

  4. 前端自学 - CSS总结篇(一)

    CSS 总结 一.CSS 的简介 二.CSS 的引入 (一)行内样式 (二)内联样式 (三)外联文件 三.CSS 语法 四.选择器 (一)选择器命名规范 (二)基本选择器  1. 元素选择器  2. ...

  5. WEB前端优化之内容篇

    WEB前端优化之内容篇 Web前端优化过程中难免对相关的前台内容进行重新安排.其中主要的一些点如下: 1尽量减少 HTTP 请求 (Make Fewer HTTP Requests) 作为第一条,可能 ...

  6. 前端 HTML/CSS (十五)

    目录 前端 HTML/CSS (十五) 动画 简单的实现 设置多个动画 延迟播放 动画的迭代次数 设置动画的播放方向 animation-timing-function,改变内部的时序 关键帧动画 响 ...

  7. 前端 | ( 十一)CSS3简介及基本语法(上) | 尚硅谷前端html+css零基础教程2023最新

    学习来源:尚硅谷前端html+css零基础教程,2023最新前端开发html5+css3视频 系列笔记: [HTML4](一)前端简介 [HTML4](二)各种各样的常用标签 [HTML4](三)表单 ...

  8. [Python从零到壹] 五十一.图像增强及运算篇之图像灰度直方图对比分析万字详解

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  9. 2.前端面试 css篇

    一.CSS基础 1. CSS选择器及其优先级 选择器 格式 优先级权重 id选择器 #id 100 类选择器 #classname 10 属性选择器 a[ref="eee"] 10 ...

最新文章

  1. 综述:植物相关微生物群在传统草药中的作用
  2. G代码运行模拟软件-NC Viewer
  3. 组建一台计算机3_硬件3 多位运算器
  4. mysql5.5 datetime默认值不能为NOW或者CURRENT_TIMESTAMP
  5. POJ3190,P2859-Stall Reservations(摊位预订)【贪心,堆】
  6. 前端学习(1963)vue之电商管理系统电商系统之控制级联选择框的选择范围
  7. 【转】Postman系列二:Postman中get接口实战讲解(接口测试介绍,接口测试流程,头域操作)
  8. 用了 HTTPS 就一定安全吗?
  9. Python量化交易基础讲堂-详解随机数的生成
  10. npm -save 和-save-dev秒懂
  11. 基本类型,指针,双指针作为函数参数
  12. hbase版本与Hadoop版本支持关系(官方)
  13. 广东省计算机一级网络题分值,计算机一级考试的试题分值如何分配的?
  14. 提速降费再发力 中国联通推出八项惠民便民措施
  15. 施工工地考勤防作弊通道系统,建筑工地通道系统管理方案
  16. 受到人工智能发展的影响的,主要包括哪些行业?
  17. 西游记原来是这么读的
  18. 兴文石海旅游策划方案——石来运转天下览!
  19. 纯CSS3制作漂亮的价格表
  20. wr741n wr841n openwrt ,AR9331/AR9341网口修正方法

热门文章

  1. Android特效专辑(八)——实现心型起泡飞舞的特效,让你的APP瞬间暖心
  2. 在 UltraEdit 或 UEStudio 中执行 DOS 或 Windows 命令
  3. tpc ds安装教程 linux,TPC-DS测试hadoop 安装步骤
  4. 21秋北京中医药大学《有机化学Z》平时作业1
  5. C1认证学习三(数据校验)
  6. vue项目中,导出下载Excel表格
  7. 点击苹果手机计算机页面慢,苹果平板电脑浏览器打开慢怎么办
  8. Linux文件系统与持久性内存介绍
  9. 33岁想从头学做网页设计_您想如何学习网页设计?
  10. 地球形状与重力场模型