CSS基础

6 篇文章 0 订阅

1.CSS基础语法
(1)格式:
选择器{属性1:值1;属性2:值2}
(2)单位:
px -> 像素(pixel)、% -> 百分比
(3)基本样式:
a. width、height、background-color
(4)CSS注释:
/* CSS注释内容 */
注释快捷键:
shift+alt+a、Ctrl+\

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        div{width: 25%;height: 100px;background: blue}
        span{background: blueviolet;}
    </style>
</head>
<body>
    <div>晴/div>
    <span>今天天气不错</span>
</body>
</html>

2.css样式的引入方式
(1)内联(行内、行间)样式:
在HTML标签上添加style属性来实现的

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <!--<style>
        div{width: 100px;height: 100px;background-color: blueviolet}
    </style>-->
</head>
<body>
   <div style="width: 100px;height: 100px;background-color: blueviolet">这是一个块</div> 
   <div style="width: 100px;height: 100px;background-color: rgb(43, 159, 226)">这是第二个块</div> 
</body>
</html>

(2)内部样式:
<style>标签内添加样式
注:内部样式的优点,可以复用代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        div{width: 100px;height: 100px;background-color: blueviolet}
    </style>
</head>
<body>
   <div>这是一个块</div> 
   <div>这是另一个块</div>
</body>
</html>

3.外部样式:在外部单独写一个css文件 -> 文件名.css
(1)通过<link>标签引入外部资源
(a)rel属性:指定资源跟页面的关系
(b)href属性:资源地址
(2)通过@import方式引入(不建议使用)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="../common.css"><!--注意引入文件的位置,不在同一个文件夹内则为":"-->
    <title>Document</title>
</head>
<body>
    <div>这事真好</div>
</body>
</html>

common.css

div{width: 100px;height: 100px;background-color: blue}

4.css中的颜色表示法
(1)单词表示法 :red、blue、green、black等
(2)十六进制表示法 :黑色:#000000、白色 :#ffffff
(3)rgb表示法 :rgb(255,255,255:);
注 :取值范围 0~255
(4)获取颜色的方法:
(a)下载一个插件: https://www.baidufe.com/fehelper
(b)使用Photoshop :按住“prt sc”键将想要吸取颜色的页面截屏,打开ps新建文件,粘贴截屏,点击吸管工具,点击拾色器。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>css颜色表示</title>
    </head>
    <body>
        <div style="width:100px;height:100px;background-color:red">今天穿的有点多</div>
        <div style="width: 200px;height:150px;background-color:blue">想买外套了</div>
    </body>
</html>

5.css背景样式

描述
background-color背景颜色
background-image背景图片
background-repeat背景图片的平铺方式
background-position背景图片的位置
background-attachment背景图随滚动条的移动方式
background-size规定背景图片的尺寸
background-origin规定背景图片的定位区域
background-clip规定背景的绘制区域
url(背景地址)引入背景图

(1)background-repeat:
repeat-x :x轴平铺
repeat-y :y轴平铺
no-repeat :都不平铺
repeat(x,y)x、y轴都平铺
(2)background-position :
x y :number(px、%)|单词
x:left、center、right
y:top、center、bottom
(3)background-attachment :
scroll :随屏幕滚动(背景位置按当前元素进行偏移)
fixed :固定背景图(背景位置按浏览器进行偏移)即如果之前背景图在我们设置的容器中间,那么给浏览器加滚动条后,背景图就变成在浏览器的中间了

6.背景实现视觉差效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
       #div1{width: 1400px;height: 800px;background-image: url();background-attachment: fixed;} 
       #div2{width: 1400px;height: 800px;background-image: url();background-attachment: fixed;}
       #div3{width: 1400px;height: 800px;background-image: url();background-attachment: fixed;}
       table{background-color: cornsilk}
    </style>
</head>
<body>
    <div id="div1"> </div><!--可在每个块中加内容-->
    <div id="div2"></div>
    <div id="div3"></div>
</body>
</html>

注 :(1)在<style>中用“#div1{}/2{}/3{}”区别每个块的背景;
(2)在<style>中可给每个块的内容加背景颜色:属性{} ,例table{background-color: cornsilk}.

7.css边框样式

属性值说明
border-style边框样式
border-width边框大小
border-color边框颜色
border-left-左边框
border-right-右边框
border-bottom-下边框
border-top-上边框

border-style:

属性值说明
none无样式
hidden与“none”相同。bug应用于表除外。对于表,hidden用于解决边框冲突
solid实线
dashed虚线
dotted点线
double双线,双线的宽度等于border-width值
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
       /* div{width: 400px;height: 400px;border-style:solid;border-color: darkcyan;border-width: 3px;}*/
       div{width: 400px;height: 400px;border-right-style:solid;
        border-right-color: darkcyan;border-right-width: 3px;
        width: 400px;height: 400px;border-left-style:dotted;
        border-left-color:rosybrown ;border-left-width: 3px;}
    </style>
</head>
<body>
    <div></div>
</body>
</html>

8.边框实现三角形
原理:定义一个长宽像素为0的块,再将四条边的某三条边隐藏起来

!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        body{background-color: teal}
        div{width: 0px;height: 0px;
        border-top-style: solid;border-top-width: 30px;border-top-color: rosybrown;
        border-right-style: solid;border-right-width: 30px;border-right-color:transparent;
        border-left-style: solid;border-left-width: 30px;border-left-color:transparent;
        border-bottom-style: solid;border-bottom-width: 30px;border-bottom-color:transparent;}
    </style>
</head>
<body>
    <div></div>
</body>
</html>

注 :transparent–透明色

9.css文字样式

属性描述
font简写属性,作用是把所有针对字体的属性设置在一个声明中。
font-family设置字体系列。
font-size设置字体的尺寸。
font-size-adjust当首选字体不可用时,对替换字体进行智能缩放。(CSS2.1 已删除该属性。)
font-stretch对字体进行水平拉伸。(CSS2.1 已删除该属性。)
font-style设置字体风格。
font-variant以小型大写字体或者正常字体显示文本。
font-weight设置字体的粗细。
color字体颜色

(1)font-style

说明
normal默认值,标准字体样式
italic斜体,字体带有倾斜属性的才可以设置斜体操作
oblique倾斜,字体不带有倾斜属性的也可以设置倾斜操作,了解即可,不推荐使用

(2)font-weight:字体粗细
(a)属性值:normal、bold、bolder、lighter、100~900(100的整数倍)。
(b)小技巧: 数字 400 等价于 normal,而 700 等价于 bold。(100到500都是正常的,600到900都是加粗的){font-weight:600;}

(3)font-family

字体名称英文名称Unicode 编码
宋体SimSun\5B8B\4F53
新宋体NSimSun\65B0\5B8B\4F53
黑体SimHei\9ED1\4F53
微软雅黑Microsoft YaHei\5FAE\8F6F\96C5\9ED1
楷体_GB2312KaiTi_GB2312\6977\4F53_GB2312
隶书LiSu\96B6\4E66
幼园 YouYuan\5E7C\5706
华文细黑STXihei\534E\6587\7EC6\9ED1
细明体MingLiU\7EC6\660E\4F53
新细明体PMingLiU\65B0\7EC6\660E\4F53

:(1)可以同时指定多个字体,中间以逗号隔开,表示如果浏览器不支持第一个字体,则会尝试下一个,直到找到合适的字体;
(2)字体名称中间有空格时需要给字体添加引号;
(3)英文字体:Arial、‘Times New Roman’(英文字体不支持使用对中文使用)。
(4)中文字体:支持对英文使用

  div{font-family:Arial } 
  div{font-family: 宋体}
  div{font-family: 'Times New Roman'}

(4)font-size :
代码格式:{font-size:数值(px)}
注:字体大小一般为偶数

相对长度单位说明
em相对于当前对象内文本字体的尺寸
px像素

10.综合练习

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=<device-width>, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        table{width: 1400px;height: 100px;border-bottom-style: double;border-bottom-color: yellowgreen;border-bottom-width: 4px;
        border-right-color: black;border-right-style:dashed;border-right-width: 4px;
        border-top-color: black;border-top-style:dashed;border-top-width: 4px;
        border-left-color: black;border-left-style:dashed;border-left-width: 4px;}
        h2{color: teal;font-family: 隶书}
        #div1{color: thistle;font-family: 华文彩云;font-size: 20px;font-style: italic;font-weight: 600;text-indent: 2em;}
        #div2{color: tomato;font-family: 宋体;text-indent: 2em;}
        /*#p1{color: thistle;font-family: 华文彩云;font-size: 20px;font-style: italic;font-weight: 600;text-indent: 2em;margin: 0;}
        #p2{color: tomato;font-family: 宋体;text-indent: 2em;}*/
    </style>
</head>
<body>
    <table>
        <td>
            <h2 align="center">张艺兴个人简介</h2>
            <div id="div1"> 张艺兴(LAY,1991年10月7日-),出生于湖南长沙,中国内地男歌手、演员,EXO/EXO-M中国籍成员。</div>
            <div id="div2">2005年, 获湖南经视《明星学院》比赛总决赛季军。2012年,以EXO-M和EXO组合成员身份正式出道。
            2015年11月,获2015亚洲影响力最具影响力全能艺人奖。2016年6月,凭借电影《前任攻略2:备胎反击战》
            获第四届中英电影节最佳男配角奖。[1]2018年4月30日,获“五四优秀青年演员”称号。</div>
            <!--<p id="p1">张艺兴(LAY,1991年10月7日-),出生于湖南长沙,中国内地男歌手、演员,EXO/EXO-M中国籍成员。</p>
            <p id="p2">2005年, 获湖南经视《明星学院》比赛总决赛季军。2012年,以EXO-M和EXO组合成员身份正式出道。
                2015年11月,获2015亚洲影响力最具影响力全能艺人奖。2016年6月,凭借电影《前任攻略2:备胎反击战》
                获第四届中英电影节最佳男配角奖。[1]2018年4月30日,获“五四优秀青年演员”称号。</p>-->
        </td>
    </table>
</body>
</html>

在这里插入图片描述:(1)上面代码展示了如何给两段<div><p>文字加边框,以及如何更改边框/字体的颜色样式;
(2)text-indent: 2em——表示段落首行缩进两个字。

11.css段落样式

属性值说明
text-decoration文本修饰下划线:underline;上划线:overline;删除线:line-through
text-transform文本大小写(针对英文段落)小写:lowercase;大写:uppercase;首字母大写:capitalize
text-indent文本缩进单位:em、px
text-align文本对齐方式center(居中对齐)、right(右对齐)、left(左)、justify(两端对齐)
line-height定义行高取值:1.number(px);scale(比例值,跟文字大小成比例的)p{line-height:2;}
letter-spacing定义字间距
word-spacing定义词间距(针对英文)

(1)p{text-decoration:underline overline line-through;} 通过空格隔开可给段落同时添加上划线\下划线\删除线
(2)英文和数字不自动折行问题:
(a)word-break:break-all;(非常强烈的折行)
(b)word-wrap:break-word;(不是那么强烈的折行)

12.段落/字体样式综合练习

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        h2{font-family: 华文隶书;}
        h3{font-family: 华文彩云;font-size: 2em;color: cadetblue;}
        #p1{font-style: italic;font-family: 华文隶书;text-indent: 2em;}
        #p2{font-family: 宋体;color: chocolate;text-indent: 2em;}
        #p3{font-family: 宋体;color: darkgoldenrod;text-decoration:underline; text-indent: 2em;}
        #p4{color: blueviolet;font-family: 宋体;text-indent: 2em;font-weight: 600;}
        #p5{color: brown;font-family: 宋体;text-indent:2em;letter-spacing:10px;line-height:2;
        word-break: break-all; }
        div{width: 600px;height: 800px;}
    </style>
</head>
<body>
    <div>
    <h2 style="text-align: center">张艺兴个人简介</h2>
    <h3>基本信息</h3>
    <p id="p1">张艺兴(LAY,1991年10月7日-),出生于湖南长沙,中国内地男歌手、演员,EXO/EXO-M中国籍成员。</p>
    <p id="p2">2005年, 获湖南经视《明星学院》比赛总决赛季军。2012年,以EXO-M和EXO组合成员身份正式出道。
        2015年11月,获2015亚洲影响力最具影响力全能艺人奖。2016年6月,凭借电影《前任攻略2:备胎反击战》
        获第四届中英电影节最佳男配角奖。[1]2018年4月30日,获“五四优秀青年演员”称号。</p>
    <h3>早年经历</h3>
    <p id="p3">1991年10月7日,张艺兴出生于中国湖南省长沙市。
        2000年参加<span style="color: blue">《音乐不断》</span>林志颖歌友会并演唱歌曲
        首次接触电视荧屏。2005年参加湖南经视<span style="color: blue">《明星学院》</span>比赛,并最终获得总决赛季军。
        <span style="color: blue">《明星学院》</span>比赛结束后,
        张艺兴回到学校继续学业。在校期间,张艺兴都会参加校文化艺术节的汇演。</p>
    <h3>个人生活</h3>
    <p id="p4">2010年12月,以公开练习生身份参与同公司前辈SHINee日本一巡演唱会的舞蹈演出,代替受伤的成员钟铉跳舞。</p>
    <p id="p5">2012年1月17日,张艺兴以SM公司男子组合EXO成员身份首次亮相,公开艺名为LAY,
        同时公开第一支单人舞蹈预告《PHOENIX凤凰》。2012年4月8日,张艺兴以S.M团体EXO和其子队EXO-M组合
        中国成员身份正式出道。2012年12月29日,张艺兴作为中国成员参与SBS歌谣大战SMThePerformance“SM7”特别舞台。</p>
    </div>
</body>
</html>

13.css复合样式
:一个css属性只控制一种样式,叫做单一样式;
一个css属性控制多种样式,叫做复合样式;
复合样式是通过空格来实现的;
最好不要混写,写了复合样式就全写复合样式.
(1)background:{background:url() red;}
(2)border:{border:2px black;}
(3)font:{font:600 italic 2em 宋体;}
:最少要有两个值 size family
size family要写在最后且size写在family前面

14.css选择器
(1)ID选择器
css:#elem{}
html:id=“elem”
注:1.ID是唯一值,在一个页面中只能出现一次,出现多次是不符合规范的;
例如,#id1{background:red;} #id1{background:blue;} <p id="id1"> 今天天气晴朗</p> <p id="id1">风和日丽</p>这样出现两个id1是错误的。
2.命名的规范:由字母、下划线、中划线、字母(第一个不能是数字)
3.驼峰写法:searchButton(小驼峰)SearchButton(大驼峰)searchSmallButton
短线写法:search-small-button
下划线写法:search_small_button
(2)标签选择器(TAG选择器)

  • div{}:在style标签中给div{}写上背景颜色、字体等样式,body标签中的div标签里的内容就会有这些样式。
    (3)class选择器
    .elem{}
    class=“elem”
    注:
    1.class选择器是可以复用的;
    2.可以添加多个class样式;
    3.多个样式的时候,样式的优先级根据css决定,而不是根据class属性中的顺序;
    4.标签+类的写法。
    (4)群组选择器
  • 可以通过“,”给多个不同的选择器添加统一的css样式,达到代码的复用;
  • 示例:div,#title,.text{background:red;}
    (5)通配选择器
  • *{ } -> p,div,h1,h2,li.ul…{}
  • 给所有标签加上相同的样式
  • 示例:*{background:red;border:1px red solid;}
    (6)层次选择器
  • ul li{},ol li{}等 -> 给ul,ol等标签下的其他标签添加样式
    示例:
<style>
        /*div~h1{background:brown;}*/
        ul li{background:cadetblue;}
        ol li{background:cornflowerblue;}
    </style>
</head>
<body>
    <!--<div>这是一个快</div>
    <p>这是一个段落</p>
    <h1>这是一个标题</h1>-->
    <ul>
        <li>这是一个无序列表</li>
        <li>这是一个列表</li>
        <li>这是一个无序</li>
    </ul>
    <ol>
        <li>这是一个有序列表</li>
        <li>这是一个列表</li>
        <li>这是一个</li>
    </ol>

在这里插入图片描述

  • 父子 M > N{}
    <style>
        #list > li{border:1px red solid ;}/*添加border{}时一定要写border-style:solid(实线)
        \dotted(点状)\double(双实线)\dashed(虚线)*/
    </style>
</head>
<body>
    <ul id="list">
        <li>
            <ul>
                <li></li>
                <li></li>
                <li></li>
            </ul>
        </li>
        <li></li>
    </ul>
</body>

在这里插入图片描述

  • 兄弟 M~N{} :当前M标签下的所有N标签
    示例:div~h2{}
	<style>
        div~h2{background: rosybrown;}
    </style>
</head>
<body>
    <div>这是一个块</div>
    <p>这是一个段落</p>
    <h2>这是一个标题</h2>
    <h2>这是一个标题</h2>
</body>

在这里插入图片描述

  • 相邻 M+N{} :当前M相邻的下边的一个N标签
    示例:div+p{}
<style>
       div+p{background: saddlebrown;}
    </style>
</head>
<body>
    <div>这是一个块</div>
    <p>这是一个段落</p>
    <h2>这是一个标题</h2>
    <h2>这是一个标题</h2>

在这里插入图片描述
(7)属性选择器

  • M【属性】
  • 示例:(1)div【class】{} ---- 给所有带有class属性的div标签添加css样式
<style>
       div[class]{background: salmon;}
    </style>
</head>
<body>
    <div>这是一个块</div>
    <div class="search">这是一个块</div>
    <div class="search-button">这是一个块</div>

在这里插入图片描述
(2) div【class=search】{} -----给带具体有“class=“search””属性的div标签添加css样式

<style>
       div[class=search]{background: salmon;}
    </style>
</head>
<body>
    <div>这是一个块</div>
    <div class="search">这是一个块</div>
    <div class="search-button">这是一个块</div>

在这里插入图片描述
(3)div【class*=search】{} ----给所有带有“class=search”属性的div标签添加css样式:包括<div class="search"></div>/<div class="search-button"></div>

<style>
       div[class*=search]{background: salmon;}
    </style>
</head>
<body>
    <div>这是一个块</div>
    <div class="search">这是一个块</div>
    <div class="search-button">这是一个块</div>

在这里插入图片描述
(7)伪类选择器
M:伪类{}

  • :link 访问前的样式(只能添加给a标签)
  • :visited 访问后的样式(只能添加给a标签)
  • :hover 鼠标移入时的样式(可以添加给所有标签)
  • :active 鼠标按下时的样式(可以添加给所有标签)
    示例:
a:link{color:red;}
<a href="#">这是一个链接</a>
  • :after / :before 通过伪类的方式给元素添加文本内容,使用content属性
    示例:div:after{content:world} <div>hello</div>
    这样可给“hello”后添加一个world

  • :nth-of-type()

<style>
       li:nth-of-type(3){background:salmon}/*nth-of-type()括号中添加数字可以指定给某一个元素添加css样式,nth-of-type(2n)能给偶数行的元素添加css样式;nth-of-type(2n+1)可以给奇数行的元素添加css样式,可以利用n来隔项添加css样式*/
    </style>
</head>
<body>
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>

在这里插入图片描述

  • :first-of-type{} ->对应元素的第一个标签添加css样式
  • :last-of-type{} ->对应元素的最后一个标签添加css样式
  • :only-of-type{} ->

15.css优先级
(1)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>css优先级</title>
           <!-- div{color: salmon;}/*先写的*/
            div{color: sandybrown;}/*当设置相同样式时,后写的优先级较高;
            内部样式与外部样式相同,如果都设置了相同样式,那么后写的引入方式优先级高*/-->
            <style>
        </style>
    </head>
    <body>
       <!-- <div>这是一个块</div>-->
    </body>
</html>

17.css盒子模型

  • 组成:content(内容区域,由width和height组成)->padding(内边距)->border-> margin
    在这里插入图片描述
  • boxing-sizing:
  • 盒子模型的一些问题:
    (1)margin叠加问题:出现在有上下两个盒子模型同时存在margin时
    示例:(此时只给一个margin下边框或者margin上边框添加值即可解决)
<style>
      #box1{width: 200px;height: 200px;background: sienna;margin-bottom: 50px;} 
      #box2{width: 200px;height: 200px;background:blueviolet;margin-top: 0px;}
    </style>
</head>
<body>
    <div id="box1">这是一个边框</div>
    <div id="box2">这是一个边框</div>
</body>
  • 使盒子模型左右居中自适应
    margin-left-auto:左边自适应(盒子在浏览器最右边)
    margin-right-auto:右边自适应(盒子在浏览器最左边)
    margin:0 auto:居中自适应(盒子模型在浏览器中间)

  • 解决如下问题
    (1)

<style>
      #box1{width: 300px;height: 300px;background: sienna;} 
      #box2{width: 300px;height: 100px;background:blueviolet;padding-left: 30px;border-left: 20px black solid ;}/*这样会使紫色盒子比棕红色多出一块*/
    </style>
</head>
<body>
    <div id="box1">
        <div id="box2">这是一个边框</div>
    </div>
</body>

在这里插入图片描述
解决方法:在#box2{}中去掉width属性

  • 盒子嵌套练习

(1)用padding来实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
      #box1{width: 350px;height: 350px;border: 1px black dashed;padding: 27px;} 
      #box2{padding: 20px;border: 5px #d7effe solid ;}
      #box3{background: #ffa0df;padding:41px;}
      #box4{border:1px white dashed;padding:3px;}
      #box5{border:1px white dashed;padding:49px;}
      #box6{border:#fcff00 5px solid;width:100px;height:100px;background: #96ff38;}
      /*嵌套在最里面的盒子要写好height属性,可不写width属性*/
    </style>
</head>
<body>
    <div id="box1">
        <div id="box2">
            <div id="box3">
                <div id="box4">
                    <div id="box5">
                       <div id="box6">
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

在这里插入图片描述

18.css的溢出隐藏

属性
visible默认值,内容不会被修剪,会呈现在元素框之外
hidden内容会被修剪,并且其余内容不可见
scroll内容会被修剪,但是浏览器会显示滚动条,以便查看其余的内容
auto如果内容被修剪,则浏览器会显示滚动条,以便查看其余的内容
inherit规定应该从父元素继承overflow属性的值
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>溢出隐藏</title>
    <style>
       /* div{width: 200px;height: 200px;border: 3px black solid;overflow: hidden;}*/
        /*overflow:hidden ->可以把溢出的部分隐藏起来*/
        /*div{width: 200px;height: 200px;border: 3px black solid;overflow: scroll;}*/
        /*给边框x和y轴添加滚动条*/
        div{width: 200px;height: 200px;border: 3px black solid;overflow: auto;}
        /*给边框的,y轴添加滚动条*/
        /*auto可以根据边框内容的具体情况来添加滚动条;当内容溢出时自动添加滚动条,没有溢出时则不添加滚动条*/
    </style>
</head>
<body>
    <div>溢出隐藏溢出隐藏溢出隐藏溢出隐藏
        溢出隐藏溢出隐藏溢出隐藏溢出隐藏
        溢出隐藏溢出隐藏溢出隐藏溢出隐藏
        溢出隐藏溢出隐藏溢出隐藏溢出隐藏
        溢出隐藏溢出隐藏溢出隐藏溢出隐藏
        溢出隐藏溢出隐藏溢出隐藏溢出隐藏
        溢出隐藏溢出隐藏溢出隐藏溢出隐藏
        溢出隐藏溢出隐藏溢出隐藏溢出隐藏
        溢出隐藏溢出隐藏溢出隐藏溢出隐藏
        溢出隐藏溢出隐藏溢出隐藏溢出隐藏
        溢出隐藏溢出隐藏溢出隐藏溢出隐藏
        溢出隐藏溢出隐藏溢出隐藏溢出隐藏
        溢出隐藏溢出隐藏溢出隐藏溢出隐藏
        溢出隐藏溢出隐藏溢出隐藏溢出隐藏
        溢出隐藏溢出隐藏溢出隐藏溢出隐藏</div>
</body>
</html>

在这里插入图片描述

19.透明度与手势
(1)opacity:0(透明,占空间)~1(不透明)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>透明度与手势</title>
    <style>
        /*div{width: 200px;height: 200px;border: 3px black solid;opacity: 0.5;background: blueviolet;}*/
        /*0.5 ->半透明*/
        /*div{width: 200px;height: 200px;border: 3px black solid;opacity: 1;background: blueviolet;}*/
        /*1 ->不透明*/
        div{width: 200px;height: 200px;border: 3px black solid;opacity: 0;background: blueviolet;}
        /*0 ->全透明*/
    </style>
</head>
<body>
    <div>这是一个块</div>
</body>
</html>

(2)rgba():0~1 可以让指定样式透明,其他样式不透明
示例:background:rgba(255,0,0,0)(最后一个0表示背景为透明)

(3)cursor:手势
default:鼠标默认箭头
要实现自定义手势:(1)准备图片(2)格式图片链接前加.cur 、 .ico
示例cursor:url(./img/cursor.ico),auto

20.最大、最小宽高

  1. min-width:min-width:300px->表示宽度大于等于300px
  2. max-width:max-width:300px->表示宽度小于等于300px
  3. min-height:min-height:200px->表示高度大于等于200px
  4. max-height:max-height:200px->表示高度小于等于200px
  5. %单位:->根据父容器的大小来换算
    6.一个容器怎么自适应屏幕的高:容器加100%;
    示例:html,body{height:100%;width:100%;background: blueviolet;} div{height:100%;width:100%;}

21.reset重置样式
https://blog.csdn.net/brain_bo/article/details/81560444

22.企业PNG切图工具:蓝湖:https://lanhuapp.com

23.float浮动

  1. 脱离文档流,沿着父容器靠左或靠右进行排列,如果之前已经有浮动元素,则挨着浮动的元素进行排列
    文档流:是文档中可显示对象在排列时所占用的位置
    示例:为加float前
    在这里插入图片描述
    加了float后:(1)
body{border:1px black solid;}
    #div1{background:blueviolet;width:100px;height:100px;float: left;}
    #div2{background:rosybrown;width:200px;height:200px;}/*div1向左浮动,离开了原文档流的位置,div2流向了原来div1的位置*/
    </style>
</head>
<body>
    <div id="div1"></div>
    <div id="div2"></div>

在这里插入图片描述
(2)#div1{background:blueviolet;width:100px;height:100px;float:right;} #div2{background:rosybrown;width:200px;height:200px;}
在这里插入图片描述
(3)#div1{background:blueviolet;width:100px;height:100px;} #div2{background:rosybrown;width:200px;height:200px;float:right;}
在这里插入图片描述
(4)#div1{background:blueviolet;width:100px;height:100px;} #div2{background:rosybrown;width:200px;height:200px;float:left;}
在这里插入图片描述
2.float注意点:

  • 只影响后面的点
  • 当浮动元素没有被设定宽度时,浮动后的宽度根据内容决定
  • 主要给块添加浮动,也可以给内联元素加
    注:
    (1)last-of-type选择器:指定其父级元素最后一个子元素的css样式
    例:
<head>
	<style>
	span:last-of-type{float:right;}/*使最后一个span元素中的内容向右浮动*/
	</style>
</head>
<body>
	<span>aaaa</span>
	<span>bbbb</span>
</body>

(2)nth-of-type()选择器:选取属于其父级元素的特定类型的第n个子元素的所有元素
语法: :nth-of-type(n|even|odd|formula)

参数描述
n要匹配的每个子元素的索引,必须是数字,例如第一个子元素的索引是1
even选取每个偶数子元素
odd选取每个奇数子元素
formula规定那个子元素需要通过公式(an+b)来选取;示例:p:nth-of-type(3n+2)选取每个第三段,从第二段开始
<head>
	<style>
	li:nth-of-type(2){height:120px;}/*給所有ul元素的第2个<p>元素的内容加样式*/
	li:nth-of-type(3){background:red;}
	</style>
</head>
<body>
	<ul>
		<li>1</li>
		<li>2</li>
		<li>3</li>
	</ul>
</body>

3.清除浮动
(1)上下排列:clear属性, clear:left|right|both(both左右浮动都清除)

<style>
div:nth-of-type(1){width:100px:height:200px;float:left;}
div:nth-of-type(2){width:100px:height:200px;clear:left}/*清除第二个<div>元素的浮动*/
</style>
<body>
	<div>1</div>
	<div>2</div>
</body>

(2)嵌套排列:嵌套元素浮动会使父级元素受影响,从而会影响后面内容的排列
解决办法:
1)after伪类
2)overflow属性

属性
visible默认值,内容不会被修剪,会呈现在元素框之外
hidden内容会被修剪,并且其余内容不可见
scroll内容会被修剪,但是浏览器会显示滚动条,以便查看其余的内容
auto如果内容被修剪,则浏览器会显示滚动条,以便查看其余的内容
inherit规定应该从父元素继承overflow属性的值

3)display:inline-block
4)设置空标签

<style>
        #box1{width: 300px;border:1px black solid;}
        #box2{width: 200px;height: 200px;background: blueviolet;float:left;}
        .clear{clear:both;}
    </style>
</head>
<body>
    <div id="box1">
        <div id="box2"></div>
        <div class="clear"></div><!--空标签-->
    </div>  
    aaaaa  

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值