ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【前端】第3回 CSS页面布局与JS简介

2022-08-24 22:00:31  阅读:268  来源: 互联网

标签:富婆 定位 right 元素 JS nbsp 浮动 CSS 页面


目录

1. CSS盒子模型

所有的标签都可以看成是一个快递盒

功能 抽像理解
margin(外边框) 控制标签之间的距离 两个快递盒之间的距离
padding(内边框) 控制内容与边框之间的距离 快递盒的厚度
border(边框) 内部文本与边框的距离 盒子内物体距离盒子内壁
content(内容) 标签内部的内容 物体自身的大小

1.1 margin(外边距)

1.基础操作

.d2 {
      margin-top: 30px;
      margin-bottom: 30px;
      margin-left: 100px;
      margin-right: 100px;
}

2.body标签自带8px的外边距

/*简写形式 作用于上下左右*/
body {
    margin:0;
}
/*margin还可以让内部标签居中展示仅限于水平方向*/
.d2{
    margin: 10px auto;
}
 margin: 10px 20px 30px 40px; 上 右 下 左

3.margin: 10px 20px 30px; 上 左 右 下

2.浮动布局(float)

2.1 float简介

  1. 在CSS中,任何元素都可以浮动。
  2. 浮动元素会生成一个块级框,而不论它本身是何种元素。
  3. 关于浮动的两个特点:
    1. 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
    2. 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样.(浏览器针对文本是优先展示的(浮动的元素如果遮挡会想办法展示))

2.2 三种取值与clear

1.三种取值

属性 功能
left 向左浮动
right 向右浮动
none 默认值,不浮动

2.clear属性规定元素的哪一侧不允许其他浮动元素。

描述
left 在左侧不允许浮动元素。
right 在右侧不允许浮动元素。
both 在左右两侧均不允许浮动元素。
none 默认值。允许浮动元素出现在两侧。
inherit 规定应该从父元素继承 clear 属性的值

2.3 解决浮动造成的父标签塌陷

浮动会造成父标签塌陷 这是一个不好的现象 因为会引起歧义

/*解决浮动造成的父标签塌陷*/
/*提前写好css操作 遇到标签塌陷就给标签加clearfix类值即可*/
.clearfix:after {
         content: '';
         display: block;
         clear: both
}

3.溢出属性(overflow)

描述
visible 默认值。内容不会被修剪,会呈现在元素框之外。
hidden 内容会被修剪,并且其余内容是不可见的。
scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit 规定应该从父元素继承 overflow 属性的值。
overflow 水平和垂直均设置
overflow-x 设置水平方向
overflow-y 设置垂直方向



div {
    height: 400px;
    width: 400px;
    border: 3px solid black;
    border-radius: 50%;
    overflow: hidden;
  }
  div img {
     max-width: 100%;
  }

4. 定位

4.1 static(静态)

所有的标签默认都不能直接通过定位修改位置 必须要切换成下面三种之一static 默认值,无定位,不能当作绝对定位的参照物,并且设置标签对象的left、top等值是不起作用的的。

4.2 relative(相对定位)

相对于标签原来的位置做定位。相对定位是相对于该元素在文档流中的原始位置,即以自己原始位置为参照物。有趣的是,即使设定了元素的相对定位以及偏移值,元素还占有着原来的位置,即占据文档流空间。对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。

#d1{
    background-color: aqua;
    height: 200px;
    width: 200px;
    position: relative;
    left: 100px;
}

4.3 absolute(绝对定位)

基于已经定位过的父标签做定位(如果没有父标签则以body为参照)。设置为绝对定位的元素框从文档流完全删除,并相对于最近的已定位祖先元素定位,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块(即body元素)。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

#d1 {
  background-color: aqua;
  height: 200px;
  width: 200px;
  position: relative;

}
#d2{
  height: 300px;
  width: 400px;
  background-color: lime;
  position: absolute;
  top: 200px;
  left: 200px;
}

4.4 fixed(固定定位)

相对于浏览器窗口做定位。对象脱离正常文档流,使用top,right,bottom,left等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性 定义。 注意点: 一个元素若设置了 position:absolute | fixed; 则该元素就不能设置float。这 是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是“定位流”。但是 relative 却可以。因为它原本所占的空间仍然占据文档流。

#d3 {
    height: 100px;
    width: 100px;
    border: 5px solid black;
    position: fixed;
    right: 100px;
    bottom: 300px;
}

5. z-index

设置对象的层叠顺序。

  1. z-index 值表示谁压着谁,数值大的压盖住数值小的,
  2. 只有定位了的元素,才能有z-index,也就是说,不管相对定位,绝对定位,固定定位,都可以使用z-index,而浮动元素不能使用z-index
  3. z-index值没有单位,就是一个正整数,默认的z-index值为0如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面压着别人,定位了元素,永远压住没有定位的元素。
  4. 从父现象:父亲怂了,儿子再牛逼也没用
.d1 {
    background-color: rgba(149, 144, 144, 0.65);
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 998;
  }

  .d2 {
    background-color: white;
    position: fixed;
    width: 600px;
    height: 400px;
    left: 50%;
    top: 50%;
    margin: -200px 0 0 -300px;
    z-index: 1000;
  }

6. 页面练习

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>

  </style>
  <link rel="stylesheet" href="mycss.css">
</head>
<body>
    <div class="my_life">
      <div class="life_head">
        <img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.win4000.com%2F%2Fpic%2Fd%2Fc7%2F3f7ef843ea.jpg&refer=http%3A%2F%2Fpic1.win4000.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1663932556&t=b4377047197e0a9343c6ca9f1308a91f" alt="">
      </div>
      <div class="life_title"><p>Joker的博客</p></div>
      <div class="life_synopsis">
        <p>鹅鹅鹅,</p>
        <p>曲项向天歌。</p>
        <p>白毛浮绿水,</p>
        <p>红掌拨清波。</p>
      </div>
      <div class="life_skill">
        <ul>
          <li><a href="">小丑1</a></li>
          <li><a href="">小丑2</a></li>
          <li><a href="">小丑3</a></li>

        </ul>
      </div>
      <div class="life_contact">
         <ul>
           <li><a href="">关于我们</a></li>
           <li><a href="">联系我们</a></li>
           <li><a href="">微博账号</a></li>

         </ul>
      </div>
    </div>
    <div class="my_right">
       <div class="right_info">
         <div class="right_title">
           <span class="life">小丑成长日记</span>
           <span class="right">2022-8-24</span>
         </div>
         <div class="right_introduce">
           <p>绑上富婆三大技巧:1、抓准时机,趁虚而入。2、做好情报,巧立人设。3、投其所好,震撼灵魂。</p>
         </div>
         <hr>
         <div class="right_supply"><p>#富婆通讯录&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp#如何让富婆爱上我</p></div>
       </div>
      <div class="right_info">
         <div class="right_title">
           <span class="life">小丑成长日记</span>
           <span class="right">2022-8-24</span>
         </div>
         <div class="right_introduce">
           <p>绑上富婆三大技巧:1、抓准时机,趁虚而入。2、做好情报,巧立人设。3、投其所好,震撼灵魂。</p>
         </div>
         <hr>
         <div class="right_supply"><p>#富婆通讯录&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp#如何让富婆爱上我</p></div>
       </div>
      <div class="right_info">
         <div class="right_title">
           <span class="life">小丑成长日记</span>
           <span class="right">2022-8-24</span>
         </div>
         <div class="right_introduce">
           <p>绑上富婆三大技巧:1、抓准时机,趁虚而入。2、做好情报,巧立人设。3、投其所好,震撼灵魂。</p>
         </div>
         <hr>
         <div class="right_supply"><p>#富婆通讯录&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp#如何让富婆爱上我</p></div>
       </div>
      <div class="right_info">
         <div class="right_title">
           <span class="life">小丑成长日记</span>
           <span class="right">2022-8-24</span>
         </div>
         <div class="right_introduce">
           <p>绑上富婆三大技巧:1、抓准时机,趁虚而入。2、做好情报,巧立人设。3、投其所好,震撼灵魂。</p>
         </div>
         <hr>
         <div class="right_supply"><p>#富婆通讯录&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp#如何让富婆爱上我</p></div>
       </div>
      <div class="right_info">
         <div class="right_title">
           <span class="life">小丑成长日记</span>
           <span class="right">2022-8-24</span>
         </div>
         <div class="right_introduce">
           <p>绑上富婆三大技巧:1、抓准时机,趁虚而入。2、做好情报,巧立人设。3、投其所好,震撼灵魂。</p>
         </div>
         <hr>
         <div class="right_supply"><p>#富婆通讯录&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp#如何让富婆爱上我</p></div>
       </div>
      <div class="right_info">
         <div class="right_title">
           <span class="life">小丑成长日记</span>
           <span class="right">2022-8-24</span>
         </div>
         <div class="right_introduce">
           <p>绑上富婆三大技巧:1、抓准时机,趁虚而入。2、做好情报,巧立人设。3、投其所好,震撼灵魂。</p>
         </div>
         <hr>
         <div class="right_supply"><p>#富婆通讯录&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp#如何让富婆爱上我</p></div>
       </div>
    </div>
</body>
</html>
/*简易博客首页*/
/*页面同用样式*/
body{
    margin: 0;
    background-color: antiquewhite;
}
a{
    text-decoration: none;
}
ul{
    list-style-type: none;
    padding-left: 0;
}
.clearer:after{
    content:'';
    display: block;
    clear: both;
}
/*左侧页面样式*/
.my_life{
    background-color: azure;
    float: left;
    position: fixed;
    height: 100%;
    width: 20%;
    left: 0;
    top: 0;
}
.life_head{
    border: 5px solid white;
    height: 200px;
    width: 200px;
    border-radius: 50%;
    margin: 20px auto;
    overflow: hidden;
}
.life_head img {
    max-width: 100%;
}
.life_title,.life_synopsis{
    color: #9284cd;
    font-size: 20px;
    text-align: center;
    padding: 2px;
}

.life_skill a,.life_contact a {
    color: #710a0a;
    font-size: 25px;
}
.life_skill a:hover,.life_contact a:hover{
    color: red;
}
.life_skill ul,.life_contact ul{
    text-align: center;

}
/*右侧页面样式*/
.my_right{
    float: right;
    width: 80%;
}

.right_info{
    background-color: azure;
    margin: 20px 40px 20px 30px;
    box-shadow: 10px 10px 10px rgba(0,0,0,0.6);
}
.right_title  {
    border-left: 5px solid red;
}
.right_title .life{
    font-size: 32px;
    padding-left: 16px;
}

.right_title .right{
    font-size: 23px;
    float: right;
    font-weight: bolder;
    padding: 20px 40px;
}
.right_introduce{
    font-size: 18px;
    padding: 10px 0 10px 20px;
}
.right_supply{
    padding: 0 0 5px 10px;
}

7. JavaScript简介

  1. 跟java没有关系 蹭热度
    该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。而是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。
  2. JavaScript与ECMAScript区别
    ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现
  3. 版本迭代
  4. JavaScript是一门编程语言(NodeJS)
    1. JavaScript 是脚本语言
    2. JavaScript 是一种轻量级的编程语言。
    3. JavaScript 是可插入 HTML 页面的编程代码。
    4. JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
  5. html页面两种引入js的方式
    1.<script>代码 </script>
    2.<script src="myscript.js"></script>
    
  6. 两种注释语法
    //
    /**/
  7. JavaScript中的语句要以分号(;)为结束符,建议加分号
  8. 支持编写js代码地方
    1.pycharm
    2.浏览器

8. JS变量与常量

  1. 在JS中声明变量和常量都需要使用关键字
    1.var:全局有效
    2.let:如果在局部名称空间中使用 那么仅在局部名称空间有效
    3.const:定义常量
  2. JS也是动态类型:变量名绑定的数据值类型不固定
    var name = 'jason'
    name = 123
    name = [11, 22, 33, 44]
    
  3. 在js中查看数据类型可以使用 typeof

9. JS数据类型之数值类型(number)

JavaScript不区分整型和浮点型,就只有一种数字类型,即所有的数值都是数值类型number

var a = 12.34;
var b = 20;
var c = 123e5;  // 12300000
var d = 123e-5;  // 0.00123

还有一种NaN,表示不是一个数字(Not a Number)

parseInt("123")  // 返回123
parseInt("ABC")  // 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。
parseFloat("123.456")  // 返回123.456

10. 字符串(String)

字符串拼接
var a = "Hello"
var b = "world;
var c = a + b; 
console.log(c);  // 得到Helloworld

标签:富婆,定位,right,元素,JS,nbsp,浮动,CSS,页面
来源: https://www.cnblogs.com/cainiaozhy/p/16622433.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有