CSS定位方式与相对宽度

前段时间有个后端小伙伴被拉去写前端,出现了一个让他困惑不已的问题:明明给子元素设置了width:80%;可为什么还是子元素超出了父元素的宽度?

这里涉及到width属性的值的类型:width属性可以设置两种值,一种是绝对长度值,另外一种是相对长度值,相对长度值又根据参照物不同分为view height/view widthpercentage

所谓相对长度,那肯定会有参照物,其中vh/vw方式是参照窗口高宽确定的(浏览器参照),percentage方式是参照DOM元素确定的(页面内部参照)。但是问题就出现在这里,percentage参照的是哪个元素呢?是body、父级、还是兄弟元素?它又有哪些规则?

为了说明,我写了个简单的演示。

当然,我只写了几个组合,剩下的读者可以亲自试一试,实践出真知嘛。

顺便给出Mozilla对position属性的说明文档:Position – CSS: Cascading Style Sheets

(未完待续)

surface go上手体验

surface go上手差不多一周了,买的是8g+128g的版本,使用起来性能没有网上说的那么弱鸡,瓶颈还是在CPU,跑跑前端工具什么的都没有问题。

一眼看去就能看到屏幕底部漏光。看得换,同学买一台也是一样的位置漏光。

4096级压感的新surface pen书写体验比苹果强,可更换笔尖。默认笔触压力比较重(比ipad重很多),但surface可以在surface应用中调节压力曲线。

没有出现网上所说的拿尺子直线都会画出波浪的情况,不知道是修复了还是运气好。

PS CS6不支持nsp的压感和倾斜,CC 2017完美支持。响应速度尚可,图片尺寸较大时会有卡顿。

总的来说笔还不错,打开“使用笔时忽略触摸”后,可以直接把手贴在屏幕上写字,擦蒙版很舒服(可以把视差严重的老新帝丢一边去了)

下面是响应速度、压感与倾斜测试视频。


2019-01-04 更新

充电时使用3.5mm耳机连接耳机(SONY WH-H900N h.ear on 2),会有轻微电流声,初步怀疑是主板的静电屏蔽没做好。

作为surface二合一系列第一部带有NFC的设备,微软的宣传根本一点没提,产品参数里也没写,我用了俩月才知道。

NFC模块在屏幕右上角的背面(A面),贴一会儿就连上了

树莓派3B+开箱及首次启动

前几天树莓派3B+到手了,不过一直很lǎn就没有发开箱。在Argon40买的,带九层亚克力盒子和风扇的套餐。

开箱

外包装就一个纸盒子,里面一张说明书和树莓派。刚到手的时候没看到侧面的open here字样,硬是在底部扣半天还撕烂了一点。

下面是本体


技术参数

  • Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz
  • 1GB LPDDR2 SDRAM
  • 2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2, BLE
  • Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
  • Extended 40-pin GPIO header
  • Full-size HDMI
  • 4 USB 2.0 ports
  • CSI camera port for connecting a Raspberry Pi camera
  • DSI display port for connecting a Raspberry Pi touchscreen display
  • 4-pole stereo output and composite video port
  • Micro SD port for loading your operating system and storing data
  • 5V/2.5A DC power input
  • Power-over-Ethernet (PoE) support (requires separate PoE HAT)

写入系统

SD Card Formatter格式化TF卡,用Win32Diskimager写入img系统镜像,然后把TF插入树莓派,通电开机,如无意外直接就能进入系统。一开始用闪迪的旧卡,无法点亮。后来买了张东芝的就好了。

第一次开机建议先用HDMI连接显示器,进入系统之后

  • 在应用程序菜单的首选项中找到Raspberry Pi Configuration
  • 打开SSH和VNC
  • 在常用设备上安装SSH工具和VNC Viewer
  • 测试连接成功后可以拔掉HDMI线


关于查看树莓派IP这件事

最简单的方法–

  • 在树莓派终端执行ifconfig

如果你有路由器管理权限,比较简单的方法–

  • 树莓派的IP可以在路由器里看到
  • 找到raspberrypi

如果你没有路由器的管理权限,比较麻烦的方法–

  • Windows下可以使用arp -a命令列出VLAN内的IP,然后用net view命令查看主机名
  • Linux下……nmap了解一下?
  • 找到raspberrypi

如果你没有电脑只有安卓手机……啥?你没有电脑?比较emmmm的方法–

  • 下载Ping Tools Pro或者Fing(下面截图是Fing)
  • 探测VLAN内终端
  • 找到raspberrypi

能搞到路由器管理权限还是搞到最好,给树莓派绑定个IP,免得变来变去麻烦。如果实在搞不到,可以做一下内网动态解析。


树莓派ssh配置文件位置

/etc/ssh/sshd_config

文件有注释说明,可以根据需要修改端口号和是否允许以root用户登陆等等。记得要用管理员权限也就是sudo来编辑。个人建议在安装各种功能软件之前先装上自己熟悉的编辑器比如vim,方便编辑各种配置文件。


更新软件包

sudo apt -y update
sudo apt -y upgrade

安装nodejs

Raspbian预装了python,但是我主要还是用nodejs,于是装上

sudo apt -y install nodejs


安装samba

我使用windows10和debian9双系统,于是装上samba方便在win下传文件

sudo apt install samba samba-common-bin

配置文件

/etc/samba/smb.conf

#Global Settingsread only = yes的值改为no,如果该行被注释,则去掉注释

在同一段落把wins support = no的值改为yes,如果该行被注释,则去掉注释

#Share Definitions段落下一行添加path = 你希望访问的目录

如果要以root用户登录,则注释掉invalid user= root这一行。

添加用户pi(或者换成其它系统用户)

sudo smbpasswd -a pi

题外话

现在网上的教程绝大部分还在用apt-get命令,但现在除了一些非常细节的操作都不需要用到apt-get了,apt命令已经在很多地方代替了apt-*。换而言之就是apt-get install可以写成apt install,apt-cache show可以写成apt show,不需要像以前那样记忆一大堆apt-*了。

以上,撒花!