大家好,我是雷哥。
这几天,网上所有网站都变红了。 这是如何实现的?
例如BAIDU.COM 百度网站
比如DDKK.COM兄弟快看看
网站都是这样的蓝色,无论是按钮、图片、还是flash动画,都是黑色的。 这时候我们就会很好奇,这是怎么做到的呢?
可能有人会觉得这是一套提前准备好的网站css样式,明天就直接替换掉,但是这样做的成本太高了,特别是像网站中的一些flash动画,所以还是需要做的啊黑白版本? 那就太不现实了。
其实不用想的太复杂,如果你想让一个网站黑化,只需要几行代码就可以解决。那么接下来我们
我们来看看具体的实现。
功能实现
然后我们选择淘宝网官网,然后打开浏览器的开发者工具淘宝网站源码,查看页面源码,选择源码中的标签,以及右侧样式中的样式:
html {
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: grayscale(100%);
filter: gray;
filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
}
如果我们取消这个样式淘宝网站源码,我们会发现网站的颜色又恢复了。
代码审查效率截图
这种实现方式具有相对较好的兼容性,主要是兼容各类浏览器。
至此,我们知道了,如果我们想要把一个网站编程白了,只需要设置一个全局的样式就可以搞定了。
最近的技术文章
过去的推荐
说起来容易做起来难,我们都知道代码可读性非常重要,但我们在编写时总是为所欲为,不管类型提示、导入排序和 PEP8 规范。 今天我将分享一个小方法,通过一个简单的步骤让你的 Python 代码变得更干净。
这是预提交:
您可以在提交之前手动检查您的代码是否符合您想要的规范。
使用之前,先用pip安装:
pip install pre-commit
然后在项目根目录中创建两个文件:.pre-commit-config.yaml 和 pyproject.toml。
.pre-commit-config.yaml文件内容如下:
exclude: _pb2.py$
repos:
- repo: https://github.com/psf/black
rev: 22.3.0
hooks:
- id: black
args: [--skip-string-normalization]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
hooks:
- id: check-docstring-first
- id: check-json
- id: check-merge-conflict
- id: check-yaml
- id: debug-statements
- id: end-of-file-fixer
- id: trailing-whitespace
- id: requirements-txt-fixer
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.9.0
hooks:
- id: python-check-mock-methods
- id: python-use-type-annotations
- repo: https://github.com/pre-commit/mirrors-mypy
rev: "v0.910"
hooks:
- id: mypy
args:
[
--ignore-missing-imports,
--warn-no-return,
--warn-redundant-casts,
--disallow-incomplete-defs,
]
additional_dependencies: [types-all]
- repo: https://github.com/PyCQA/isort
rev: 5.9.3
hooks:
- id: isort
args: [--profile, black, --filter-files]
上面配置了black、mypy、check-docstring-first、isort等工具,id就是对应的工具。 可以说这个配置文件基本上就够用了。
在 .pre-commit-config.yaml 文件中,我们可以指定将使用哪些钩子简单网站源码,在 pyproject.toml 中,我们可以为这些单独的钩子指定参数。
pyproject.toml文件内容如下:
[tool.black]
line-length = 88
target-version = ["py38"]
[tool.isort]
profile = "black"
multi_line_output = 3
black和isort的相关配置都在这里配置。
然后在项目根目录下执行pre-commit install命令安装pre-commit插件。
那么每次更新和提交代码时,这些钩子都会被触发,并手动执行以下操作:
排序导入
PEP8 的格式代码
检查 yaml 和 json 文件的正确性
类型检查(如果您使用类型提示)
终于
你可以把这两个文件复制到你的项目根目录下,然后执行一个pre-commit install,这样每次提交代码都是干净的代码简单网站源码,是不是很方便?