css
的书写方式
注意:
<style></style>
标签写在<head></head>
标签内
注意:外链式需要新建一个
demo.css
的文件,里面书写css
样式风格
css
选择器
-
标签选择器
代码展示:
<style> h1{ /*h1标签选择器*/ color:red; font-family:"楷体"; } p{ /*p标签选择器*/ color: green; font-family:"隶书"; } </style>
效果如下:
-
类选择器
代码展示:
<style> .p{ color:rgb(102,0,128); font-family:"仿宋"; font-size:25px; } </style> ... <p class="p">这是类选择器的应用例子</p>
效果如下:
所有元素标签都会使用
*
通配符设置的样式
css
文字属性
-
文本装饰
代码展示:
<style> .xiahuaxian { text-decoration: underline; color: rgb(209, 192, 255); font-size: 150px; line-height:260px; } .shanghuaxian { text-decoration: overline; color: rgb(197, 255, 192); font-size: 150px; line-height:260px; } .shanchuxian { text-decoration: line-through; color: pink; font-size: 150px; line-height:251px; } a { text-decoration:none; color: pink; font-size: 150px; line-height:251px; } </style> ... <div class="xiahuaxian">这是下划线</div> <div class="shanghuaxian">这是上划线</div> <div class="shanchuxian">这是删除划线</div> <a href="https://www.w3school.com.cn/" target="_blank">w3school</a>
效果如下:
-
文本对齐方式
代码展示:
<style> /* 水平对齐方式 */ #juzhong { text-align: center; color: pink; font-size: 150px; } #zuoduiqi { text-align: left; color: rgb(0,253,252); font-size: 150px; } #youduiqi { text-align: right; color: #fff065; font-size: 150px; } </style> ... <div id="juzhong">居中</div> <div id="zuoduiqi">左对齐</div> <div id="youduiqi">右对齐</div>
效果如下:
-
文本缩进
代码展示:
<style> div { text-indent: 20em; /* 单位:em相对单位 px像素单位 */ } </style> ... <div>首行缩进,20个当前元素20个距离的缩进</div> <p>没有缩进的效果没有缩进的效果没有缩进的效</p>
效果如下:
-
行间距
代码展示:
<style> div { line-height: 26px; /* 行间距 = 上间距 + 文字高度 + 下间距 改变行间距就是改变上间距和下间距 */ } </style> ... <div>风急天高猿啸哀,</div> <p>渚清沙白鸟飞回。</p> <p>无边落木萧萧下,</p> <p>不尽长江滚滚来。</p>
效果如下:
-
字体
代码展示:
<style> h3{ font-family:"微软雅黑"; /*设置字体*/ } p{ font-family:"楷体"; /*设置字体*/ color: red; } </style> <body> <h3>红豆</h3> <p><strong>红豆生南国,</strong></p> <p><em>春来发几枝。</em></p> <p><ins>愿君多采撷,</ins></p> <p><del>此物最相思。</del></p> <b>红豆生南国,</b><br /> <i>春来发几枝。</i><br /> <u>愿君多采撷,</u><br /> <s>此物最相思。</s> </body>
效果如下:
-
字体大小:
代码展示:
<style> p{ font-size:30px; /*设置字体大小*/ font-family: "隶书"; /*设置字体*/ color: green; /* 颜色 */ } </style>
效果如下:
注意:
取值:
normal:默认值,正常字体。
italic:斜体。对于没有斜体变量的特殊字体,将应用 oblique
oblique:倾斜的字体。
-
字体复合属性:
代码展示:
<style> div {font: italic 700 16px/50px "微软雅黑"; color:green; } </style> ... <div>这是复合属性的测试</div>
效果如下:
注意:复合属性:
font:font-style font-weight font-size/lin-height font-family;
严格按照顺序写,不能随意更换 各个属性值之间用空格隔开
不需要的属性可以省略,但是font-size,font-family必须要有。不然不起作用
css
背景
注意:
background-color:
取值:
transparent(透明)
color(其他色彩)
-
背景平铺
代码展示:
<style> div { width: 2000px; height: 2000px; background-image: url(bg2.png); /* 背景平铺 */ background-repeat: repeat; /* 背景不平铺 background-repeat:no-repeat; */ } </style>
效果如下:
注意:
取值:
背景平铺
background-repeat: repeat;
背景不平铺
background-repeat:no-repeat;
-
背景固定
代码展示:
<style> div { width: 2000px; height: 2000px; background-image: url(bg.jpg); /* 跟随内容滚动 */ background-attachment: scroll; /* 固定位置 background-attachment: fixed; */ } </style>
效果如下:
注意:
取值:
跟随内容滚动
background-attachment: scroll;
固定位置
background-attachment: fixed;
-
背景半透明
代码展示:
<style> div { width: 300px; height: 300px; /* background: rgba(0, 0, 0, 0.5); */ /* 最后一个参数是alpha透明度介于0-1. */ background: rgba(0, 0, 0, .5); /* 只是让盒子里面的背景色半透明, 对盒子里面的内容没影响 */ }
效果如下:
css
三大特性
-
继承性
代码展示:
<style> div { color: greenyellow; /* text-align: center; */ font: 80px/1.5 "隶书"; } p { /* 子元素继承父元素div的行高1.5 */ /* 这个1.5是当前元素文字大小font-size的1.5倍,也就是50px*1.5大小 */ font-size: 50px; } /* 继承一般可以继承font,text,color等的属性 */ </style> ... <div> <p>子标签继承了父标签的某些属性</p> <ul> <li>继承了div的属性</li> </ul> <!-- 行高的继承 --> <span>继承了div的行高</span> </div>
效果如下:
-
层级性
代码展示:
<style> div { color: red; font-family: "隶书"; font-size: 29px; } div { color: pink } </style> ... <div>相同的选择器设置相同的属性,就近原则<br> 靠近标签的属性会覆盖之前的属性<br> 不同的属性则没有影响。 </div>
效果如下:
-
优先级
代码如下:
<style> div { color: red !important; } .nav { color: pink; } </style> ... <p class="nav">优先级测试</p>
效果如下:
注意 权重越大越优先,权重可以叠加
继承的权重是0
!important(∞) > 行内式style=“”(1000) > id选择器(100) > 类选择器,伪类选择器(10) > 标签选择器(1) > *通配符选择器(0)
无穷大 > 1,0,0,0 > 0,1,0,0 > 0,0,1,0 > 0,0,0,1 > 0,0,0,0
css
复合选择器
-
并集选择器
代码展示:
<style> div, p, .pig li { color: pink; } </style> ... <div>熊大</div> <p>熊二</p> <span>光头强</span> <ul class="pig"> <li>小猪佩奇</li> <li>猪爸爸</li> <li>猪妈妈</li> </ul>
效果如下:
并集选择器用英文
,
逗号分隔 并集选择器喜欢竖着写,
最后一个选择器不需要逗号,
任何选择器都可以作为并集选择器的一部分、
适用于需要设置相同元素的不同标签
-
后代选择器
代码展示:
<style> ol li { color: pink; } ul li { font-size: 52px; } table tr td { color: pink; } #nav li { color: pink; } </style> ... <ol> <li>我是ol的子选择器</li> </ol> <ul> <li>我是ul的子选择器</li> </ul> <table border=1> <tr> <td>学号</td> <td>姓名</td> <td>性别</td> </tr> </table> <ul> <li>我是ul的子选择器</li> </ul> <ul id="nav"> <li>我是ul的子选择器</li> </ul>
效果如下:
可以选择父选择器中的子选择器
元素1 空格 元素2 {声明样式}
元素1是父级,元素2是子级。
元素2可以是儿子,也可以是孙子等,只要是元素1的后代即可
适用于子标签或者孙子标签
-
伪类选择器
代码展示:
<style> a:link { color: black; } a:visited { color: red; } a:hover { color: green; } a:active { color: pink; } </style>
效果如下:
向某些选择器添加特殊效果,比如超链接添加效果,或选择第一个,第n个元素 :
a:link
选择所有未被访问的链接
a:visited
选择所有已被访问的链接
a:hover
选择鼠标指针位于其上的链接
a:active
选择活动链接(鼠标按下未弹起的链接) 严格按照以上顺序添加效果
Link->Visited->Hover->Active
-
子选择器
代码展示:
<style> .nav>a { color: red; } .class ul li a { color: red; } .hot>a { color: green; } </style> ... <div class="nav"> <!-- 第一个a标签和p标签都是div的儿子 --> <a href="#">红色字体</a> <!-- 第二个a标签是div的孙子 --> <p><a href="">无作用</a></p> </div> <div class="class"> <ul> <li><a href="#">百度</a></li> <li><a href="#">腾讯</a></li> </ul> </div> <div class="hot"> <a href="#">大肘子</a> <ul> <li><a href="#">猪头</a></li> <li><a href="#">猪尾巴</a></li> </ul> </div>
效果如下:
注意:适用于亲儿子类选择器,对孙子类选择器无作用
代码展示:
<style>
input:focus {
background-color: yellow;
}
textarea:focus {
background-color: pink;
}
</style>
...
<input type="text">
<input type="text">
<input type="text">
<textarea name="" id="" cols="30" rows="10"></textarea>
效果如下:
用于选取获得焦点的表单元素
css
盒子模型
-
边框
代码展示:
<style> div { width: 200px; height: 200px; border-width: 5px; border-style: solid; border-color: pink; } </style>
效果如下:
边框有边框宽度(粗细),边框样式,边框颜色
边框会影响盒子大小
-
内边距
代码展示:
<style> div{ width: 200px; height: 200px; border: 1px solid pink; padding: 50px; } </style> ... <div>这是盒子模型里面的内容</div>
效果如下:
-
外边距
代码展示:
<style> div{ width: 200px; height: 200px; background-color: pink; } /* .one{ margin-bottom:20px; } */ .two{ margin:20px; border-width:10px; border-style:solid; } </style> ... <div class="one">1</div> <div class="two">2</div>
效果如下:
-
外边距合并
代码展示:
<style> .father { width: 400px; height: 400px; background-color: purple; margin-top: 100px; border-top:2px solid transparent; } #son { width: 200px; height: 200px; background-color: pink; margin-top: 50px; } </style> ... <div class="father"> <div id="son"></div> </div>
效果如下:
-
清除内外边距
代码展示:
<style> /* css第一行代码*/ *{ margin:0; padding:0; } span{ margin:0 20px 0; } </style> ... <div>内外边距被清除了。</div> <span>行内元素尽量把值设置为左右的内外边距</span>
效果如下:
-
padding不会影响盒子大小的情况
代码展示:
<style> /* 如果盒子本身没有指定width/height属性,则padding不会撑开盒子 */ h1{ height:200px; padding:30px; background-color: pink; } div{ /* 如果指定宽度,则会撑开 */ width: 300px; height: 100px; background-color: purple; padding:30px; } div p{ padding:30px; background-color: skyblue; } </style> ... <h1></h1> <div> <p></p> </div>
效果如下: