关于设置float的补充

float不会遮盖文本,文本会显示出来。
这里写图片描述

代码:

 <style type="text/css">
        .{margin:0px;padding:0px;}
        #div1{
            /*height: 60px;*/ /*如果不定义高度,会随内容自己扩展*/
            /*width: 400px;*/
            width: 100%;
            margin:1px;  /*当块状元素设置了宽度之后,margin-right的值并没有起作用到*/
            border: 1px solid green;
            overflow: hidden;
        }
        #div2{
            border: 1px solid black;
            /*height: 60px;*//*设置了float属性后如果不设置高度的话会根据内容的高度变化*/
            /*width: 200px;*//*设置了float属性后如果不设置长度的话会根据内容的长度变化*/
            margin:2px;
            float:left;/*设置float属性,脱离文档流(不占用文档空间),不再属于div1的内容*/
        }
        #div3{
            border: 1px solid orange;
            height: 60px;
            width: 200px;
            margin:2px;
            float:left;
        }
        #clear{
            clear: both;
            border: 1px solid pink;
        }
        #ps{
            border: 2px solid red;
        }
    </style>
</head>
<body>
    <div id="div1">我是div1的文本
        <div id="div2">我是div2</div>
        <div id="div3">我是div3</div>
        <p id="clear">我是clear</p><!--行内元素的宽度和高度一般由内容决定-->
    </div>
    <div>
        <span id="ps">span</span>
    </div>
</body>

当初设计float时就是为了实现文字环绕的效果,所以文本级行内元素不会被遮挡住。

float属性的3个属性值:
1、left:左浮动
2、right:右浮动
3、none:不浮动

float属性的特点:
1、元素会左移或者右移直至容器的边缘。
2、设置float属性,元素会脱离标准文档流。
3、会对相邻元素产生影响,相邻元素特指紧接它后面的元素。
4、如果设置了float属性但是没有设置宽度和高度,会随内容的变化而变化。

可是float属性并不是彻底的脱离标准文档流,文本和行内元素是不会被遮挡住的(文本不管怎样都会被显示出来的,有可能在用float属性设置过的div之后),彻底脱离标准文档流的方式是绝对定位。

清除浮动的两种方法:

这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码存在以下几个问题: 1. `setup()` 函数为空,应该在其中初始化传感器、风扇等设备,并设置 OLED 显示屏。 2. `measurePin` 变量未定义,应该先定义该变量并设置测量风扇转速的引脚。 3. 在 `for` 循环中没有测量温湿度传感器的,并且变量 `t` 未定义。 4. OLED 显示屏的代码未完整,缺少设置字体大小、显示位置等设置。 以下是修改后的代码,已经加入了初始化函数和完整的 OLED 显示屏设置代码: ```C++ #include <dht11.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET -1 #define DHTPIN 7 #define FAN_PIN 9 #define MEASURE_PIN 2 dht11 dht; Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET); void setup() { pinMode(FAN_PIN, OUTPUT); pinMode(MEASURE_PIN, INPUT); Serial.begin(9600); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay(); display.setTextColor(WHITE); display.setTextSize(2); display.setCursor(0, 0); } void loop() { // 读取温湿度传感器的 int chk = dht.read(DHTPIN); float t = dht.temperature; float h = dht.humidity; // 补充 PWM 调速程序 // 测量风扇转速 float timesum = 0; for (int i = 0; i < 10; i++) { timesum = timesum + pulseIn(MEASURE_PIN, HIGH); timesum = timesum + pulseIn(MEASURE_PIN, LOW); } float zhuan = timesum / 5; float vshow = 60 * 1000000 / zhuan; // 显示温湿度和风扇转速 display.clearDisplay(); display.setCursor(0, 0); display.print("Temp: "); display.print(t); display.println(" C"); display.print("Humidity: "); display.print(h); display.println(" %"); display.print("Fan speed: "); display.print(vshow); display.println(" RPM"); display.display(); delay(1000); } ``` 请注意,以上代码仅供参考,可能需要根据实际情况进行调整。同时,需要在代码中添加 PWM 调速程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值