css学习--css基础

学习慕课网笔记,课程: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包含

<!-- body{font-size:12pt;line-height:12pt} *{margin:0;padding:0;} -->

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小工匠技术圈

[Java小工匠]CSS盒子模型-概述

  在HTML文档中任何元素,都可以看作是一个盒子,因此理解盒子模型非常重要。一个盒子包含 盒子的内容、盒子内边距、盒子的边框、盒子的外边距。

711
来自专栏Python

css样式—字体垂直、水平居中

<div class="tt">啦啦啦</div> .tt{ padding: 0px; width:500px...

19510
来自专栏吾爱乐享

php学习之html的标签属性(一)

1073
来自专栏菜鸟计划

CSS布局(二) 盒子模型属性

盒子模型的属性 宽高width/height   在CSS中,可以对任何块级元素设置显式高度。   如果指定高度大于显示内容所需高度,多余的高度会产生一个视觉效...

4707
来自专栏编程坑太多

html元素(标签)

1162
来自专栏有趣的django

18.CSS

选择器 1.标签上直接设置style属性 <p style="color: red">直接标签里面写</p> 2.id选择器 <style> ...

3267
来自专栏十月梦想

CSS边框

border-方向:width style color(border对应分别是宽度 样式 颜色中间空格隔开。)

773
来自专栏前端杂货铺

清除inline-block元素之间的空白

一个元素如果被设置为display:inline-block,那么这个元素将表现为行内块的性质。被设为行内块的元素 对内(子元素)表现为块级框,具体为可以设置高...

2945
来自专栏编程

【CSS选择符】后代选择符

在学习后代选择符之前,首先要了解一下组成一个网页的HTML家谱,每个HTML标签标示其中一个家庭成员。网页中的第一个HTML标签(标签),相当于所有其他标签的始...

1985
来自专栏康怀帅的专栏

CSS

CSS <style type="text/css"> </style> 注释 /*注释*/ 内联式 <p style="color:red"> </p> 嵌...

2814

扫码关注云+社区