day50前端基础CSS

前端基础之css

  • css的四种引入形式

1、行内式

行内式是在标记的style属性中设定CSS样式。这种方式没有体现出CSS的优势,不推荐使用

<p style="background-color: rebeccapurple">hello yuan</p>

2、嵌入式

嵌入式是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中。格式如下:

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p{
            background-color: #2b99ff;
        }
    </style>
</head>

3、链接式

将一个.css文件引入到HTML文件中

<link href="mystyle.css" rel="stylesheet" type="text/css"/>

4、导入式

将一个独立的.css文件引入HTML文件中,导入式使用CSS规则引入外部CSS文件,<style>标记也是写在<head>标记中,使用的语法如下:

<style type="text/css">
 
          @import"mystyle.css"; 此处要注意.css文件的路径
 
</style> 

注意:

      导入式会在整个网页装载完后再装载CSS文件,因此这就导致了一个问题,如果网页比较大则会儿出现先显示无样式的页面,闪烁一下之后,再出现网页的样式。这是导入式固有的一个缺陷。使用链接式时与导入式不同的是它会以网页文件主体装载前装载CSS文件,因此显示出来的网页从一开始就是带样式的效果的,它不会象导入式那样先显示无样式的网页,然后再显示有样式的网页,这是链接式的优点。

 

 

 CSS选择器

  基本选择器

    1、标签选择器

      p {color:green;}

    2、id选择器

      #d1 {font-size:30px;}

    3、class选择器

      .info {background:rad;}

    4、通配选择器

      * {margin:0; padding:0;}

组合选择器

  1、E,F 多元素选择器同时匹配所有E元素和F元素,E和F之间用逗号分隔   div,p{color:green;}

  2、E F后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔  li a {font-weight:bold;}

  3、E > F 子元素选择器,匹配所有E元素的子元素F div >p {color:yello}

  4、E+F 毗邻元素选择器,匹配所有紧随E元素之后的同级元素F div + p{color:yello;}

  5、E~F 普通兄弟选择期(以破则号为分隔) .div1 ~ p{font-size:30px;}

标签嵌套:

  一般,块级元素可以包含内联元素或某些块级块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素。需要注意的是,p标签不能包含块级标签。

 

属性选择器:

  E[att] 匹配所有具有att属性的E元素,不考虑它的值。(注意:E在此处可以省略。比如‘[cheacked]’.)[att] {color:green}

  E[att='val']匹配所有att属性等于‘val’的E元素  [att ='val'] {color:red;}

  E[att~=val] 匹配所有att属性具有多个空格分隔的值、其中一个值等于‘val’的E元素[class~="name"] {color:green}

  E[attr^=val] 匹配属性值以指定值开头的每个元素[class^="text"] {color:yello}

  E[attr$=val] 匹配属性值以指定值结尾的每个元素 [class$="test"]{background:green}

  E[attr*=val] 匹配属性值中包含指定值的每个元素 [class*="test"]{background:green}

 

 伪类:

 

<style>
a{color: black;text-decoration: none}
a:hover{color: red;text-decoration:underline }
</style>
</head>
<body>
<a target="_blank" href="">
点击此处
</a>

 

a:link{color:black}(没有接触过的链接),用于定义了链接的常规状态。

 

a:hover{}(鼠标放在链接上的状态),用于产生视觉效果.(常用的)

 

a:visited(访问过的链接),用于阅读文章,能清楚的判断已经访问过的链接.

a:active(在链接上按下鼠标时的状态),用于表现鼠标按下时的链接状态。

 

 

 

  调用背景

 

 

默认重复填充

 

 

背景居中:

最终书写方式:

 

调出圆润的格式:

样式:

 

列表标签

设置 .c1 {list-style:none;padding:0} 可以去掉前面的开头,跟div标签一样用

标签隐藏:

display:block显示

 

 

 

把两个块级标签设置成内联标签(相当于float)

(浮动元素前面只跟浮动元素)

clear:both是左右两边都不能跟浮动标签

有个机制,在父级标签和字级标签中,腹肌标签不设置高度,默认使用子级标签的最大高度,若子级标签都是浮动类标签就会造成父级塌陷的效果;解决方法就是使用clear:both的属性在浮动标签后面添加一个div标签,使标签内容为空,这个空标签就会在浮动标签下方,让父级标签能识别出子类的标签的最大高度,避免了父级塌陷的状况。当然也有更好的办法就是在在父级标签下追加子级标签

  content:"空"

 

 

 

 先定位一个relative标签 position:relative

在根据创建的的标签位置进行移动 position :absolute ;  top :0; left:0

 

relative: 相对定位。

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

注意:position:relative的一个主要用法:方便绝对定位元素找到参照物。

absolute: 绝对定位。

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

重点:如果父级设置了position属性,例如position:relative;,那么子元素就会以父级的左上角为原始点进行定位。这样能很好的解决自适应网站的标签偏离问题,即父级为自适应的,那我子元素就设置position:absolute;父元素设置position:relative;,然后Top、Right、Bottom、Left用百分比宽度表示。

另外,对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index属性定义。

posted @ 2017-11-03 20:50  hello沃德  阅读(82)  评论(0)    收藏  举报