W3CSchool实战闯关笔记(HTML/CSS)


HTML更换文本的颜色:通过修改元素的style样式实现

<h2 style="color:red">html编程入门教程</h2>

使用CSS选择器定义标签:上面再标签内部添加属性的方式是“内联样式”,CSS则是在外部定义标签元素属性

 1 <style>
 2     h2{ color : blue;}
 3 </style>
 4 <h2>html编程入门教程</h2>
 5 <!--
 6 所有的CSS属性定义代码写在style标签内部
 7 <style>    
 8   选择器 {属性名称: 属性值;}       
 9 </style>
10 -->
demo

使用CSS Class给标签定义style:在style标签里定义类,在HTML标签元素中使用class属性连接对应的类

注意:在CSS样式元素中,类选择器应该添加.为前缀。而在HTML元素的类声明中,类属性不能添加.为前缀

 1 <style>
 2 .red-text {
 3 color: red;
 4 }
 5 </style>
 6 
 7 <h2 class="red-text">html编程入门教程</h2>
 8 
 9 <p>
10 在大家心目中,也许编程是一件非常困难的事情,其实也是一件非常有乐趣的事情,只要掌握好编程入门的方法,就能慢慢进入一个全新的创造世
11 </p>
demo

HTML为多个元素使用CSS类定义样式:在CSS中定义的类可以同时被多个HTML标签元素连接使用

 1 <style>
 2 .red-text {
 3 color: red;
 4 }
 5 </style>
 6 
 7 <h2 class="red-text">html编程入门教程</h2>
 8 
 9 <p class="red-text">
10 在大家心目中,也许编程是一件非常困难的事情,其实也是一件非常有乐趣的事情,只要掌握好编程入门的方法,就能慢慢进入一个全新的创造世
11 </p>
demo

HTML设置标签的字体大小font-size

 1 <style>
 2   .red-text {
 3     color: red;
 4     font-size: 16px;
 5   }
 6     p {
 7        font-size: 16px; 
 8     }
 9 </style>
10 
11 <h2 class="red-text">我家的猫咪</h2>
12 
13 <p class="red-text">在大家心目中,猫是慵懒的可爱的化身,它可以睡饱了再起来吃饭,可以逗趣小耗子,可以卖得了萌,使得了坏,这样百变的小怪兽就集结在一只宠物上,怎能不惹人怜爱。</p>
14 <p>
15     养动物有的时候,就是介于爱与恨之间,当你钦羡别人萌宠这么可爱的时候,你一定没有想过,狗狗和猫猫会到处拉屎,甚至会屯老鼠,啃鞋子,用爪子爬门,你不理它,它就挠你,你要对它发脾气,它会比你更来劲。所以,狗猫慎入,没有一定的准备,切勿随便去侍养动物。它们一旦认定你了,你就是它们的主人,如果你抛弃它们,它们必定心中重创。
16 </p>
demo

HTML设置字体样式font-family

 1 <style>
 2 .red-text {
 3 color: red;
 4 }
 5 
 6 p {
 7 font-size: 16px;
 8 font-family: Monospace;
 9 }
10 </style>
11 
12 <h2 class="red-text">CatPhotoApp</h2>
13 
14 <p class="red-text">在大家心目中,也许编程是一件非常困难的事情,其实也是一件非常有乐趣的事情,只要掌握好编程入门的方法,就能慢慢进入一个全新的创造世界。</p>
15 <p>可以学习的编程语言有很多,我们这个编程训练营里面有大量的编程实战实验,包括Html、css、Javascript、jquery、bootstrap等等前端编程实战课程,请大家耐心按阶段不断向前学习和通过一轮一轮的挑战,相信很快您的编程技术会得到很大的提升,为找到一份好的编程工作做好准备。</p>
demo

引入字体(google为例):<link>自闭和标签

 1 <link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">
 2 <style>
 3 .red-text {
 4 color: red;
 5 }
 6 
 7 p {
 8 font-size: 16px;
 9 font-family: Monospace;
10 }
11 
12 h2 {
13     font-family: Lobster;
14 }
15 </style>
16 
17 <h2 class="red-text">CatPhotoApp</h2>
18 
19 <p class="red-text">在大家心目中,也许编程是一件非常困难的事情,其实也是一件非常有乐趣的事情,只要掌握好编程入门的方法,就能慢慢进入一个全新的创造世界。</p>
20 <p class="red-text">可以学习的编程语言有很多,我们这个编程训练营里面有大量的编程实战实验,包括Html、css、Javascript、jquery、bootstrap等等前端编程实战课程,请大家耐心按阶段不断向前学习和通过一轮一轮的挑战,相信很快您的编程技术会得到很大的提升,为找到一份好的编程工作做好准备。</p>
demo

处理多个字体降级:

  在所有浏览器中都有几种可用的默认字体。这些包括 Monospace 、Serif 和 Sans-Serif

当某种字体不可用时,你可以让浏览器将其 “降级” 为另一种字体。

  例如,如果你希望元素使用 Helvetica 字体,但是当 Helvetica 不可用时也会降级为Sans-Serif 字体,则可以使用此CSS样式:

p {    
  font-family: Helvetica, Sans-Serif;    
}

HTML给页面添加图片:

可以使用 img 元素(自闭和标签)将图片添加到您的网站,并使用 src 属性指向一个图片的具体地址,img 元素具有 alt 属性。alt 属性中的文本用于屏幕阅读器以提高可访问性,并且如果图像无法加载,则会显示

<img src="/statics/codecamp/images/relaxing-cat.jpg" alt="your-image">

调整网页图片大小:width,height

<style>
.smaller-image {
    width: 100px;
}
</style>
<img src="/statics/codecamp/images/relaxing-cat.jpg" class="smaller-image">

HTML给标签增加边框

CSS 边框具有 style(样式)color(颜色)width(宽度) 等属性

注意:可以应用多个class到一个元素,只需要在多个class之间用空格分开即可

 1 <style>
 2 .smaller-image {
 3 width: 100px;
 4 }
 5 .thick-green-border {
 6   border-width:10px;
 7   border-style:solid;
 8   border-color:green;   
 9 }
10 </style>
11 
12 <img class="smaller-image thick-green-border" src="/statics/codecamp/images/relaxing-cat.jpg">
demo

给标签增加圆角边框border-radius

1 <style>
2 .smaller-image {
3 width: 100px;
4 border-radius: 10px;
5 }
6 </style>
7 
8 <img class="smaller-image thick-green-border" src="/statics/codecamp/images/relaxing-cat.jpg">
demo

给图像设置圆角边框:百分比、border-radius

 1 <style>
 2 .thick-green-border {
 3 border-color: green;
 4 border-width: 10px;
 5 border-style: solid;
 6 border-radius: 50%;
 7 }
 8 .smaller-image {
 9 width: 100px;
10 }
11 </style>
12 
13 <img class="smaller-image thick-green-border" src="/statics/codecamp/images/relaxing-cat.jpg">
demo

 设置链接锚元素外部页面<a></a>理解起来跟超链接差不多

<a href="http://freecatphotoapp.com">cat photos</a>

在p标签内设置锚链接:也就是标签的嵌套

<p>View more <a href="https://www.w3cschool.cn">cat photos</a></p>

使用#设置固定链接:

有时你想要在你的网站上添加一个 a 元素,但你还不知道将它链接到哪里,这时你可以使用固定连接。当你使用 jQuery 更改链接的行为时,这也很方便

 a 元素的 href 属性的值替换为一个 #(# 也称为哈希符号),将其转换为一个固定链接。

<p>Click here for <a href="#">cat photos</a>.</p>

为图片设置超链接:通过将某元素(图片,按钮或其他)嵌套在a元素中使其变为一个链接

<a href="#"><img src="/images/relaxing-cat.jpg"></a>

 为图片添加alt描述:

alt 属性, 是当图片无法显示时的替代文本,alt 属性是一个必需的属性,为页面上的图片都加上 alt 属性是好习惯

<img src="www.your-image-source.com/your-image.jpg" alt="your alt text">

创建项目符号无序列表:<ul></ul>

1 <ul>    
2   <li>milk</li>    
3   <li>cheese</li>    
4 </ul>
demo

创建有序列表:<ol></ol>

1 <ol>    
2   <li>Garfield</li>    
3   <li>Sylvester</li>    
4 </ol>
demo

创建文本输入框:<input>自闭和标签

<input type="text">

为文本输入框设定预设值:placeholder,就是用户还没输入的时候文本框显示的文字,输入框接受到输入之后就隐藏起来,输入框清空又显现.

<input type="text" placeholder="cat photo URL">

添加表单:

可以使用HTML来构建跟服务器交互的Web表单。你可以通过在form元素上添加一个action属性来执行此操作,action属性的值指定了表单提交到服务器的地址

<form action="/submit-cat-photo">
    <input type="text" placeholder="cat photo URL">
</form>

为表单添加提交按钮:我们在form中添加一个 submit (提交)按钮。点击此按钮,表单中的数据将会被发送到你使用表单 action 属性指定的地址上,在你的 form 元素中添加一个提交按钮,并以类型为 submit

<form action="/submit-cat-photo">
    <input type="text" placeholder="cat photo URL">
    <button type="submit">Submit</button>
</form>
demo

把表单设置为必填项:如果你想要一个文本输入框设置为必填项,你可以在 input元素中加上 required 属性

<input type="text" required>

添加单选框:可以使用单选按钮来解决你希望用户只给出一个答案的问题,单选按钮是 input 输入框的一种类型,每个单选按钮都应该嵌套在自己的 label(标签) 元素中,所有关联的单选按钮应具有相同的 name 属性

<label><input type="radio" name="indoor-outdoor">indoor</label>
<label><input type="radio" name="indoor-outdoor">outdoor</label>

添加复选框:checkboxes(复选按钮)通常用于可能有多个答案的问题的形式,每一个复选按钮都应嵌套在其自己的 label元素中,所有关联的复选按钮输入应该具有相同的 name属性

<label><input type="checkbox" name="personality">Rugdoll1</label>
<label><input type="checkbox" name="personality">Rugdoll2</label>
<label><input type="checkbox" name="personality">Rugdoll3</label>

设置单选框和复选框默认被选中:在 input 元素中添加属性checked

1 <label><input type="radio" name="indoor-outdoor" checked> Indoor</label>
2 <label><input type="radio" name="indoor-outdoor"> Outdoor</label>
3 <label><input type="checkbox" name="personality" checked> Loving</label>
4 <label><input type="checkbox" name="personality"> Lazy</label>
5 <label><input type="checkbox" name="personality"> Energetic</label>
demo

在div元素中嵌套多个元素:

div 元素,也被称作division(层)元素,是一个盛装其他元素的通用容器,

div 元素是最常用的HTML元素。所以可以利用CSS的继承关系把 div 上的CSS传递给它所有子元素

 1 <div>
 2 <p>Things cats love:</p>
 3 <ul>
 4 <li>cat nip</li>
 5 <li>laser pointers</li>
 6 <li>lasagna</li>
 7 </ul>
 8 <p>Top 3 things cats hate:</p>
 9 <ol>
10 <li>flea treatment</li>
11 <li>thunder</li>
12 <li>other cats</li>
13 </ol>
14 </div>
demo

为div元素设置背景颜色:

 1 <style>
 2 .gray-background {
 3     background-color: gray;
 4 }
 5 </style>
 6 
 7 <div class="gray-background">
 8 <p>Things cats love:</p>
 9 <ul>
10 <li>cat nip</li>
11 <li>laser pointers</li>
12 <li>lasagna</li>
13 </ul>
14 <p>Top 3 things cats hate:</p>
15 <ol>
16 <li>flea treatment</li>
17 <li>thunder</li>
18 <li>other cats</li>
19 </ol>
20 </div>
demo

为标签添加ID属性:

除了 class属性之外,每一个 HTML 元素也可以具有 id 属性,

id 属性应该是唯一的。虽然浏览器不会强制唯一,但这是被广泛认可的。所以请不要给一个以上的元素相同的 id 属性,

<h2 id="cat-photo-app">

使用ID属性设置标签样式:

关于id属性的一个很酷的事情是,像类选择器一样,你可以使用CSS来设计样式

注意:在你的 style 元素中,定义类选择器必须添加 . 为前缀,定义ID选择器必须添加 # 为前缀

 1 <style>
 2 #cat-photo-form {
 3     background-color: green;
 4 }
 5 </style>
 6 
 7 <form action="/submit-cat-photo" id="cat-photo-form">
 8 <label><input type="radio" name="indoor-outdoor" checked> Indoor</label>
 9 <label><input type="radio" name="indoor-outdoor"> Outdoor</label>
10 <label><input type="checkbox" name="personality" checked> Loving</label>
11 <label><input type="checkbox" name="personality"> Lazy</label>
12 <label><input type="checkbox" name="personality"> Energetic</label>
13 <input type="text" placeholder="cat photo URL" required>
14 <button type="submit">Submit</button>
15 </form>
demo

使用padding布局页面标签:

所有的 HTML 元素本质上都是一些小矩形块,

有三个重要的属性控制每个HTML元素的布局:padding(内边距)margin(外边距)border(边框)

元素的 padding 控制元素与其边框 border 之间的距离

 1 <style>
 2 .injected-text {
 3 margin-bottom: -25px;
 4 text-align: center;
 5 }
 6 
 7 .box {
 8 border-style: solid;
 9 border-color: black;
10 border-width: 5px;
11 text-align: center;
12 }
13 
14 .yellow-box {
15 background-color: yellow;
16 padding: 10px;
17 }
18 
19 .red-box {
20 background-color: red;
21 padding: 20px;
22 }
23 
24 .green-box {
25 background-color: green;
26 padding: 20px;
27 }
28 </style>
29 <h5 class="injected-text">margin</h5>
30 
31 <div class="box yellow-box">
32 <h5 class="box red-box">padding</h5>
33 <h5 class="box green-box">padding</h5>
34 </div>
demo

使用margin布局页面标签:

元素的 margin (外边距)控制元素 border (边框)和周围元素实际所占空间的距离

 1 <style>
 2 .injected-text {
 3 margin-bottom: -25px;
 4 text-align: center;
 5 }
 6 
 7 .box {
 8 border-style: solid;
 9 border-color: black;
10 border-width: 5px;
11 text-align: center;
12 }
13 
14 .yellow-box {
15 background-color: yellow;
16 padding: 10px;
17 }
18 
19 .red-box {
20 background-color: red;
21 padding: 20px;
22 margin: 20px;
23 }
24 
25 .green-box {
26 background-color: green;
27 padding: 20px;
28 margin: 20px;
29 }
30 </style>
31 <h5 class="injected-text">margin</h5>
32 
33 <div class="box yellow-box">
34 <h5 class="box red-box">padding</h5>
35 <h5 class="box green-box">padding</h5>
36 </div>
demo

使用负值设置页面的margin属性:

将一个元素的 margin 设置为负值,则元素将会变大

 1 <style>
 2 .injected-text {
 3 margin-bottom: -25px;
 4 text-align: center;
 5 }
 6 
 7 .box {
 8 border-style: solid;
 9 border-color: black;
10 border-width: 5px;
11 text-align: center;
12 }
13 
14 .yellow-box {
15 background-color: yellow;
16 padding: 10px;
17 }
18 
19 .red-box {
20 background-color: red;
21 padding: 20px;
22 margin: -15px;
23 }
24 
25 .green-box {
26 background-color: green;
27 padding: 20px;
28 margin: -15px;
29 }
30 </style>
31 
32 <div class="box yellow-box">
33 <h5 class="box red-box">padding</h5>
34 <h5 class="box green-box">padding</h5>
35 </div>
demo

为不同方向padding设置不同值:

CSS 允许你使用 padding-toppadding-rightpadding-bottom 和 padding-left属性来控制元素四个方向的 padding

 1 <style>
 2 .injected-text {
 3 margin-bottom: -25px;
 4 text-align: center;
 5 }
 6 
 7 .box {
 8 border-style: solid;
 9 border-color: black;
10 border-width: 5px;
11 text-align: center;
12 }
13 
14 .yellow-box {
15 background-color: yellow;
16 padding: 10px;
17 }
18 
19 .red-box {
20 background-color: red;
21 padding-top: 40px;
22 padding-right: 20px;
23 padding-bottom: 20px;
24 padding-left: 40px;
25 }
26 
27 .green-box {
28 background-color: green;
29 padding-top: 40px;
30 padding-left: 40px;
31 padding-bottom: 20px;
32 padding-right: 20px;
33 }
34 </style>
35 <h5 class="injected-text">margin</h5>
36 
37 <div class="box yellow-box">
38 <h5 class="box red-box">padding</h5>
39 <h5 class="box green-box">padding</h5>
40 </div>
demo

你还可以集中起来指定它们,如下所示:

padding: 10px 20px 10px 20px;

四个值以顺时针方式排列:顶部、右侧、底部、左侧,简称:上右下左

CSS样式的继承:

 每一个HTML页面都有一个body元素,通过在<style>标签内对body元素样式进行设置可以证明

<style>
body {
    background-color: black;
}
</style>

CSS继承body元素样式:

可以像任何其他HTML元素一样对你的body元素应用样式,并且所有其他元素都将继承你的body元素的样式

<style>
body {
background-color: black;
color: green;
font-family: Monospace;
}

</style>
<h1>Hello World</h1>
demo

CSS样式的覆盖:

优先级关系:   !important   >>>  内联样式   >>>   id   >>>   class  >>>   对标签设置样式

有时HTML元素会得到多个相互冲突的样式,可以在<style>中创建一个class设置样式,设置HTML元素的class名调用该样式.(这种方式优先级比直接对元素设置样式高,class的样式会覆盖后者的样式)

 1 <style>
 2 body {
 3 background-color: black;
 4 font-family: Monospace;
 5 color: green;
 6 }
 7 
 8 .pink-text {
 9     color: pink;
10 }
11 </style>
12 
13 <h1 class="pink-text">Hello World!</h1>
14 <!--最后h1文本呈现的颜色为粉色,因为pink-text的优先级更高-->
demo

CSS多个class处理样式覆盖:

<style>标签中的class样式会从上往下按顺序执行,后面的样式会覆盖前面的,所以当一个HTML元素调用了多个class时,总是采用<style>中被调用的class中排在最后的class的样式.(HTML元素中class的顺序没有影响)

 1 <style>
 2 body {
 3 background-color: black;
 4 font-family: Monospace;
 5 color: green;
 6 }
 7 .pink-text {
 8 color: pink;
 9 }
10 
11 .blue-text {
12     color: blue;
13 }
14 .white-text {
15     color: white;
16 }
17 <!--只调用了两个class,以style标签中排在最后的class为基准-->
18 </style>
19 <h1 class="blue-text pink-text">Hello World!</h1>
demo

通过ID的样式属性覆盖class类的声明:

先给HTML元素一个id,然后在style标签内对id进行样式化声明(id声明的位置没有影响),这种方式优先级比class声明更高,会覆盖该元素调用的所有class样式

 1 <style>
 2 body {
 3 background-color: black;
 4 font-family: Monospace;
 5 color: green;
 6 }
 7 .pink-text {
 8 color: pink;
 9 }
10 #orange-text {
11     color: orange;
12 }
13 .blue-text {
14 color: blue;
15 }
16 
17 </style>
18 <h1 id="orange-text" class="pink-text blue-text">Hello World!</h1>
demo

通过内联样式覆盖class类声明:

直接在HTML元素内部设置style属性,优先级比id样式声明更高,

 1 <style>
 2 body {
 3 background-color: black;
 4 font-family: Monospace;
 5 color: green;
 6 }
 7 #orange-text {
 8 color: orange;
 9 }
10 .pink-text {
11 color: pink;
12 }
13 .blue-text {
14 color: blue;
15 }
16 </style>
17 <h1 id="orange-text" class="pink-text blue-text" style="color:white;">Hello World!</h1>
demo

使用important覆盖其他所有样式:

在许多情况下,您将使用CSS库。这些可能会意外覆盖您自己的CSS。所以当你绝对需要确定一个元素具有特定的CSS时,可以使用 !important

 1 <style>
 2 body {
 3 background-color: black;
 4 font-family: Monospace;
 5 color: green;
 6 }
 7 #orange-text {
 8 color: orange;
 9 }
10 .pink-text {
11 color: pink !important;
12 }
13 <!--!important用法如上-->
14 .blue-text {
15 color: blue;
16 }
17 </style>
18 <h1 id="orange-text" class="pink-text blue-text" style="color: white">Hello World!</h1>
demo

CSS使用十六进制码设置特定颜色:

hex code(十六进制代码) 遵循 red-green-blue(红-绿-蓝),或者叫 rgb 格式。hex code 中的前两位表示颜色中红色的数量,第三四位代表绿色的数量,第五六位代表蓝色的数量。

所以要得到绝对的纯红色,你只需要在第一和第二位使用 F (最大可能的数值),且在第三、第四、第五和第六位使用 0 (最小可能数值).

红色的十六进制码 #FF0000 可以缩短为 #F00。这个缩写形式给出一个数字为红色,一个数字为绿色,一个数字为蓝色

常用的颜色:

RGB 十六进制码 颜色
rgb(0,0,0) #000000 黑色
rgb(255,255,255) #FFFFFF 白色
rgb(255,0,0) #FF0000 红色
rgb(0,255,0) #00FF00 绿色
rgb(0,0,255) #0000FF 蓝色
  #808080 灰色
  #111111 深灰色


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM