CSS基础

如何分开设置英文和中文字体样式

因为英文不包含中文,中文包含英文,所以可以先设置英文字体,之后设置中文字体.

选择器

<style>
        input~p{
            font-size: 30px;
            font-weight: bold;
        }
        /*通用兄弟选择器*/
       div+p{
            color: deeppink;
        }
        /*相邻选择器*/
       :not(a){
            color: coral;
            font-size: 12px;
        }
        /*选中不是a标签的所有标签*/
</style>

CSS3新增选择器

<style>
        p:first-child{
            color: red;
        }
        /*选中第一个元素*/
        
        p:last-child{
            color: blue;
        }
        /*选中最后一个元素*/
        
        p:first-of-type{
            color: green;
        }
        /*选中同类型中第一个元素*/
        
        p:last-of-type{
            color: pinkk;
        }
        /*选中同类型中最后一个元素*/
        
        p:nth-child(n){
            font-size: 40px;
        } 
        /*选中第几个元素*/
        
        p:nth-of-type(n){
            color: skyblue; 
        } 
        /*选中同类型中第几个元素*/
        p:nth-last-of-type(n){
            font-size: 30px;
        }
        /*选中同类型中倒数第几个*/
        p:only-child{
            color: deeppink;
        }
        /*选中只有一个子元素的元素*/
        p:nth-child(odd){
            color: pink;
        }        
        /*选中奇数*/
        p:nth-child(even){
            font-size: 30px;
        }
        /*选中偶数*/
        p:nth-child(xn+y){
            color: pink;
        }
        /*n为0递增乘以x+1的数改变属性*/
</style>

属性选择器

   <style>
       input[type=text]{
           width: 100px;
           height: 30px;
           display: block;
       }
       /*属性等于xx时改变属性*/
        p[class]{
            color: pink;
        }
       /*含有属性的元素改变样式*/
       img[alt^=woshi]{
           color: red;
       }
       /*选中属性以woshi开头的元素*/
       img[alt$=c]{
           color: pink;
       }
       /*选中以c结尾的元素*/
       img[alt*=shi]{
           color: green;
       }
       /*选中包含shi的元素*/
   </style>

css三大特性

1.继承性
以color,line,text,font开头的可以继承
h标签不继承大小,a标签的下划线和文字颜色不继承父元素;
2.层叠性
css处理冲突的方式,多个选择器选中同一个标签设置同样的属性后写的覆盖先前的
3.优先级
判断权重
!important>id>类>通配符>继承>浏览器默认

关于实体字符产生空格的问题

在日程代码中换行会有默认的实体字符;因外边距会产生一个空格的外边距可以对父元素设置font-size:0;来解决

   <style>
       div{
           font-size: 0;
       }
       div>span {
           display: inline-block;
           width: 100px;
           height: 100px;
           font-size: 24px;
           color: pink;
           border: 1px solid #000;
       }
   </style>

关于外边距的问题

1外边距塌陷

    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .top{
            width: 100px;
            height: 100px;
            background-color: red;
            border: 1px solid #000;
            margin-bottom: 100px;
        }
        .bottom{
            width: 100px;
            height: 100px;
            background-color: red;
            border: 1px solid #000;
            margin-top: 150px;
        }
    </style>

两个div设置margin-top和margin-bottom重叠时不会相加只会取最大值上面代码top和bottom之间的距离为150px;
而margin-left和margin-right则会相加

嵌套关系设置子元素的外边距和内边距的注意点

设置子元素顶部的外边距会改变父元素的位置可以为父元素添加border属性或者添加overflow:hidden;属性
如果是嵌套关系优先使用padding,并级之间可以使用margin

浮动和清除浮动

1:给父元素添加高度,但是正常开发中尽量少写高度所以不建议使用。
2:为需要浮动的元素添加clear:both;属性,但是使用了clear:both;属性会使margin属性失效
3:外墙法,在两个浮动的元素之间添加一个新的元素给新的元素添加clear:both属性,但是需要注意设置margin时会错位,如果需要调整位置可以为新增的元素设置宽高
3:内墙法,在父元素的内部所有子元素的底部添加一个新的元素并设置clear:both;
4:为父元素设置overflow:hidden;*zoom:1;来清除浮动;
5:伪类
通过添加伪类清除浮动

    <style>
        .clearfix::after{
            content: '';
            display: block;
            height: 0;
            visibility: hidden;
            clear: both;
        }
        .clearfix{
            *zoom: 1;
            /*为了兼容IE;*/
        }
    </style>

关于定位

相对定位

1:相对定位不脱离文档流
2:给定位元素添加margin属性都是相对于元素未定位之前定义margin
3:相对定位相对于自身原来的位置定位

绝对定位

1:绝对定位脱离文档流
2:绝对定位不区分块级和行内元素

注意点

1:默认情况下绝对定位相对于body定位,并且是以网页首屏的宽高来作为参考点
2:祖先元素如果是定位流,绝对定位相对于最近的定位流祖先作为参考点
3:绝对元素会忽略父元素的padding

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,236评论 1 92
  • 本文主要是起笔记的作用,内容来自慕课网. 认识CSS样式 CSS全称为“层叠样式表 (Cascading Styl...
    0o冻僵的企鹅o0阅读 2,754评论 0 30
  • CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器...
    百作不死的学习阅读 1,352评论 0 7
  • CSS基础 本文包括CSS基础知识选择器(重要!!!)继承、特殊性、层叠、重要性CSS格式化排版单位和值盒模型浮动...
    廖少少阅读 3,470评论 0 40
  • 什么是选择器 每一条css样式声明(定义)由两部分组成,形式如下: 在{}之前的部分就是“选择器”,“选择器”指明...
    小挠许阅读 451评论 0 1

友情链接更多精彩内容