学习慕课网笔记,课程:http://www.imooc.com/code/2024

1.css选择器

子选择器:parent>child

子选择器是指选择parent的范围内的第一个子元素。这里parent和child均是伪代码。可以是class用.classname,也可以是标签ul>li,也可以是id #pid>#cid

后代选择器:parent child

后代选择器是指:选择parent范围内的所欲child元素。与子选择器不同的是,这里包含嵌套内的child元素,而子选择器仅仅选中parent下的直接的第一个子元素。

全局选择:*{}

这里可以配置全局的默认配置,如去掉默认间距等。

多个选择器同时设置:h,span,div{}

多个选择器用逗号间隔,设置通用的样式。

2.元素分类

在css中,html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素

常用的块状元素有

div,p,h1..h6,ol,ul,dl,table,address,blockquote,form

常用的内联元素有

a,span,br,i,em,strong,label,q,var,cite,code

常用的内联块状元素有:

img,input

2.1块级元素

什么是块级元素?在html中div,p,hl,form,ul,li就是块级元素。设置display:block就是将元素显示为块级元素。如下代码就是将内联元素a转换为块级元素,从而使a元素具有块状元素特点。

a{
display:block;
}

块级元素特点

  1. 每个块级元素都从新的一行开始,并且其后的元素也另起一行(真霸道,一个块级元素独占一行)
  2. 元素的高度、宽度、行高以及顶和底边距都可以设置
  3. 元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一直),除非设定一个宽度。

2.2内联元素

在html中,span,a,label,strong,em就是内联元素(行内元素)(inline)元素。当然块状元素也可以通过代码display:inline将元素设置为内联元素。

div{
display:inline;
}

内联元素特点

  1. 和其他元素都在一行上;
  2. 元素的高度、宽度及顶部和底部边距不可设置;
  3. 元素的宽度就是它包含的文字或图片的宽度,不可改变

解决行内元素间隙bug问题

行内元素之间会产生间隙bug问题的场景:

1、当行内元素之间有“回车”、“tab”、“空格”时就会出现间隙。

如下代码:

<div>
<a>1</a>
<a>2</a>
<span>33333</span>
<span>44444</span>
<em>555555</em>
</div>

解决方法:

1、写在一行,之间不要有空格之类的符号。

<div>
<a>1</a><a>2</a><span>33333</span><span>44444</span><em>555555</em>
</div>

2、使用font-size:0

div{font-size:0;}
a,span,em{font-size:16px;}

网上还有很多有趣的方法可解决这个bug感兴趣的小伙伴们快去搜索一下吧。

 

2.3内联块状元素

内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,代码display:inline-block就是将元素设置为内联块状元素(css2.1)img,input标签就是这种内联块状状态标签。

inline-block元素特点:

  1. 和其他元素都在一行上;
  2. 元素的高度、宽度、行高以及顶和底边距都可以设置;

3.盒子模型

3.1什么是盒子模型

css中,盒子模型是关于元素的宽高的。如下图:

  • content:内容,它可以是文字、图片等
  • padding:内编剧,空白,填充,从内容到边框的距离
  • border:边框,边框的宽度和样式
  • margin:外编剧,边界

3.2边框

盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细、样式和颜色。

如下代码设置div

div{
border:2px solid red;
}

上面是缩写,分开写为:

div{
border-width:2px;
border-style:solid;
border-color:red;
}

注意

  1. border-style(边框样式)常见样式:dashed(虚线)|dotted(点线)|solid(实线)
  2. border-color(边框颜色)中的颜色可设置为十六进制颜色,如:#888
  3. border-width(边框宽度)中宽度也可以设置为:thin|medium|thick(不常用),最常用的是像素(px)

边框方向:

如果想单独设置下边框,可以:div{border-bottom:1px solid red;}

同样可以设置其他三边:

border-top:1px solid red;border-right:1px solid red;border-left:1px solid red;

 

3.3盒模型的宽度和高度

css内定义的宽width和高height指的是填充padding以内的内容。因此一个元素实际宽度为:

盒子的宽度=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。

测试用例:

        <style type="text/css">
#div_id{
width: 200px;
padding: 20px;
border: 1px solid red;
margin: 10px;
}
</style>
<div id="div_id">
盒模型测试用例
</div>

结果:

3.4盒模型填充

元素内容与边框之间可以设置距离,叫做padding(填充)。填充也可以分上右下左。如下:

div{padding:20px 10px 15px 30px;}

顺序不要搞错!分开写:

div{padding-top:20px;padding-right:10px;padding-bottom:15px;padding-left:30px;}

如果上右下左都填充为10px可以这么写:

div{padding:10px;}

如果上下填充为10px,左右填充为20px:

div{padding:10px 20px;}

3.5盒模型边界

元素与其他元素之间的距离可以使用边界margin来设置。边界同样分上右下左。

4.布局

css包含

css学习--css基础的更多相关文章

  1. css学习-css引入&css选择

    一.引入css的方式,一共有4种,我们只需要掌握三种就可以了,@import的方法我们不做掌握 1.第一种引入的方法 <!--1.第一种引入css的方法--> <h1 style=& ...

  2. CSS学习---css基础知识0105

    CSS, Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离. 举例:颜色,大小,高度.宽度.内外边距.边框.浮动.定位.字 ...

  3. html+css学习笔记 [基础1]

    ---------------------------------------------------------------------------------------------------- ...

  4. jsp学习---css基础知识学习,float,position,padding,div,margin

    1.常用页面布局 效果图: 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

  5. CSS学习笔记(基础篇)

    CSS概念 CSS 指层叠样式表 (Cascading Style Sheets)(级联样式表) Css是用来美化html标签的,相当于页面化妆. 样式表书写位置: <head> < ...

  6. 总结了一下css的部分基础知识点。---css学习笔记01

    一. css基础 1. 什么是css 层叠样式表:层叠 2. css的三种使用方式 style 属性 --> <div style="css属性值"></d ...

  7. css学习(1)-- 层叠样式表CSS的基础

    一.什么是CSS CSS是Cascading Style Sheets的简写,它除了可以轻松设置网页元素的显示位置和格式处,甚至还能产生滤镜,图像淡化,网页淡入淡出的渐变效果. 一个样式表由样式规则组 ...

  8. 前端学习——css基础知识,选择器与html模板、值得收藏的html标签

    一.css需要的html(采用html5标准) DTD,文档类型声明: <!Doctype html> 文本编码声明: <meta charset="utf-8" ...

  9. 【css学习整理】css基础(样式,语法,选择器)

    CSS是什么? cascading 层叠样式表 sheet 样式文件 style 外观个性化 CSS语法? 声明方法: 选择器(属性: 值; 属性: 值) 选择器: 通过名称制定对哪些标签进行样式设置 ...

随机推荐

  1. return array 评论添加状态和提示信息

    ThinkSNS漏洞系列第一弹,某处处理不当导致SQL注入 漏洞点出现在Comment Widget里:\addons\widget\CommentWidget\CommentWidget.class ...

  2. LINUX 下grep命令查找

    当出现查找文件出现匹配到二进制文件时,大概是因为文件同时含有文本文件与二进制文件,需要加上 grep -a,就可以解决问题.

  3. PHP Strict Standards:问题解决

    异常信息: ( ! ) Strict standards: Declaration of SugarEmailAddress::save() should be compatible with tha ...

  4. 已经过事务处理的 MSMQ 绑定(转载)

    https://msdn.microsoft.com/zh-cn/biztalk/ms751493 本示例演示如何使用消息队列 (MSMQ) 执行已经过事务处理的排队通信. 注意 本主题的末尾介绍了此 ...

  5. 自己动手写一个简单的MVC框架(第一版)

    一.MVC概念回顾 路由(Route).控制器(Controller).行为(Action).模型(Model).视图(View) 用一句简单地话来描述以上关键点: 路由(Route)就相当于一个公司 ...

  6. Functional Programming without Lambda - Part 1 Functional Composition

    Functions in Java Prior to the introduction of Lambda Expressions feature in version 8, Java had lon ...

  7. vmware 安装xp 流水账

    1. 分区 PQ分区.1个区,C盘,NTFS. 2. 安装XP 进入ghost,不要选择一键. 然后fromImage, d:\xxx\GHO

  8. 《Spark快速大数据分析》—— 第五章 数据读取和保存

    由于Spark是在Hadoop家族之上发展出来的,因此底层为了兼容hadoop,支持了多种的数据格式.如S3.HDFS.Cassandra.HBase,有了这些数据的组织形式,数据的来源和存储都可以多 ...

  9. MacOS中使用QT开发iOS应用

    因为项目合同中规定一部分业务内容要在手机端实现,包括安卓机和苹果机,因此选择了QT作为开发工具.程序在Win10和安卓系统上已经完美运行,这几天开始搭建iOS的编译和发布环境,因为以前没有使用过mac ...

  10. Makefile

    原文链接:http://www.orlion.ga/816/ 一.基本规则 对于一个拥有多个文件的c项目,编译时可能是这样的指令: gcc main.c stack.c -o main 如果编译之后又 ...