GVKun编程网logo

html – CSS – 100%的高度减去#px – 页眉和页脚(页眉和页脚怎么设置)

4

对于想了解html–CSS–100%的高度减去#px–页眉和页脚的读者,本文将提供新的信息,我们将详细介绍页眉和页脚怎么设置,并且为您提供关于100*100Canvas占用内存多大、100个numpy

对于想了解html – CSS – 100%的高度减去#px – 页眉和页脚的读者,本文将提供新的信息,我们将详细介绍页眉和页脚怎么设置,并且为您提供关于100 * 100 Canvas 占用内存多大、100 个 numpy 问题 43-100、100 个 numpy 问题 8-100、Aspose.Word将DOCX转换为HTML将失去MERGEFIELD,IF条件,页眉和页脚,表格单元格的宽度的有价值信息。

本文目录一览:

html – CSS – 100%的高度减去#px – 页眉和页脚(页眉和页脚怎么设置)

html – CSS – 100%的高度减去#px – 页眉和页脚(页眉和页脚怎么设置)

相关网页如下所示:
// The Header //
/*            */
/*  CONTENT   */
/*            */
// The footer //

标题和页脚均具有固定的高度.比方说,两者的高度都是20px.我需要将内容的高度设置为100%减去40px(页眉高度).我知道我可以使用JavaScript轻松做到这一点,但是如果可以的话,学习如何使用简单的CSS来做到这一点是很好的.

解决方法

#header /* hypothetical name */
{
    height:100%;
}

#header p /* or any other tag */
{
    margin:20px 0 20px 0;
}

只需确保不要将边距和高度放在同一个标​​签中.你会体验到一些疯狂的结果.

100 * 100 Canvas 占用内存多大

100 * 100 Canvas 占用内存多大

题目描述

一个 100 * 100 Canvas 占用内存多大,它的大小的决定因素是什么?这里我们只考虑存储这么多像素的内存,不考虑运算过程中使用的内存。

感性认识

我们知道 Canvas 给了我们前端像素级别控制的能力,我们可以精确到像素,因此多了 更多的灵活性和复杂度。可以说 Canvas 的模型和传统的 DOM 模型有很大的不同。

那么要回答这个问题,我们其实只要知道 1 * 1 像素占用多大内存就好了。

那么 1 * 1 像素的 Canvas 占用多大像素呢?我们来感性思考一下,我们现在前端在写颜色的时候, 很多都是用RGBA或者#(六位十六进制)的形式, 对于 RGBA 我们可以怎么存储?A 的话,我们平时的取值范围 0 - 1 的小数,步长为 0.01,因此 100 个数字就够了,7Bit 就可以搞定。

那么 RGB 呢?如果你用过 RGB 或者 RGBA 的话,应该知道我们通常使用的范围是 0-255 的范围, 因此 RGB 的存储空间应该是 8*3 = 24 Bit,也就是 3Byte。

如果使用十六进制表示呢?一个十六进制需要 4 个 bit,那么 6 个十六进制就是 24 个 bit,也就是 3Byte,和 RGBA 是一样的。

因此一个像素的 Canvas 占据空间理论上是 31Bit。那么事实上是这样么?

什么是 ImageData

回答这个问题之前,我先来介绍一个 Canvas 的 API getImageData, 这个 方法会返回一个 ImageData,它用来描述"canvas"元素的一个隐含像素数据的区域。使用 ImageData() 构造函数创建或者使用和 canvas 在一起的 CanvasRenderingContext2D 对象的创建方法:createImageData() 和 getImageData()。我们这次就使用getImageData().

我们来实际测试一下

先说结果,结果是一个像素的 Canvas 占内存是4Byte

我做了一个实验,具体是怎么做的呢?我们一起来看一下。

下面是我写的一个HTML结构,里面放了一个Canvas和一个button,点击button会打印出来一个像素的信息。

这里是代码:

<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" width="300" height="150">
Your browser does not support the HTML5 canvas tag.
</canvas>

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.fillStyle = "rgba(200,2,2,0.8)";
ctx.fillRect(10, 10, 50, 50);

function getImageData() {
var imgData = ctx.getImageData(10, 10, 1, 1);
console.log(imgData);
return imgData;
}
</script>

<button onclick="getImageData()">获取1像素信息</button>
</body>
</html>

这里是渲染结果:

点击之后,控制台的显示结果:

204 就是 255 * 0.8 算出来的

可以看出其实像素信息使用 Uint8 来存储的,数组长度为 4, Uint8 占用内存为 1 个字节, 因此一共是 4 个字节,所以答案就是一个像素的 Canvas 占内存是4Byte。这个和我们的猜测31Bit相差了1Bit,其实多这1bit也是为了方便操作。

这道题还没有完~

RGB,RGBA 等等表示法有什么本质区别

我们刚才的推测以及实验都是基于特定的颜色表示方法,比如 RGBA 或者#(六位十六进制)的形式, 如果我们采用别的方式呢?比如之前的 24 位,即 RGB 表示法。那结果就是100 * 100 *3, 如果一个颜色不用一个字节,而是更多或者更少的字节呢?这些都会影响到结果。

因此上面我们的猜测以及“结论”都不确切,更确切地说占用多少内存完全取决于你如何对像素进行编码和解码,只有掌握这个根本点,才能无往而不利。

总结

我们先从感性认识来“猜测”了一下问题的答案,然后通过 Canvas 的内置 API 实际地检测了一下我们的猜想, 但是这个猜想似乎并不是很严谨,换句话说我们的猜想以及验证结果是有一定的前提条件的。

其实答案不重要,重要的是你看到这种问题的思维过程,这种题目很容易看出一个人的知识广度和深度, 甚至思维能力。本文完~

关注我

最近我重新整理了下自己的公众号,并且我还给他换了一个名字《脑洞前端》,它是一个帮助你打开大前端新世界大门的钥匙,在这里你可以听到新奇的观点,看到一些技术尝新,还会收到系统性总结和思考。

我会尽量通过图的形式来阐述一些概念和逻辑,帮助大家快速理解,图解前端是我的目标。

之后我的文章同步到微信公众号 脑洞前端 ,您可以关注获取最新的文章,或者和我进行交流。


本文分享自微信公众号 - 脑洞前端(fe_lucifer)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

100 个 numpy 问题 43-100

100 个 numpy 问题 43-100

  1. 如何从 numpy 数组的现有列创建新列,比如:

方法一:使用 np.c_() 函数

# -*- coding: utf-8 -*-
"""
Created on Sat Oct 31 15:23:24 2020

@author: 15025
"""

import numpy as np


class NumpyStudy:
    def findNanNumber(self):
        iris = np.genfromtxt("C:/Users/15025/Desktop/Iris.

100 个 numpy 问题 8-100

100 个 numpy 问题 8-100

  1. 如何将两个数组垂直堆叠,比如:
# 第一个数组
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8

Aspose.Word将DOCX转换为HTML将失去MERGEFIELD,IF条件,页眉和页脚,表格单元格的宽度

Aspose.Word将DOCX转换为HTML将失去MERGEFIELD,IF条件,页眉和页脚,表格单元格的宽度

如何解决Aspose.Word将DOCX转换为HTML将失去MERGEFIELD,IF条件,页眉和页脚,表格单元格的宽度

我正在尝试编写一个在线文档编辑器,其中TinyMCE 5作为编辑器,Aspose.Word v20.8作为转换器。

但是当我使用Aspose.Word将DOCX转换为HTML5时,它在TinyMCE中无法按预期呈现。 我现在可以知道,例如,HTML的标题,页脚,MergeFields,IF,TableStart:TableEnd sofar松动了。 我需要HTML包含所有数据,因为我需要再次将其转换回DOCX。

生成HTML5的代码为:

var doc = new Document({Stream_Of_DOCX});
var options = new HtmlSaveOptions();
options.SaveFormat = SaveFormat.Html;
options.Encoding = System.Text.Encoding.UTF8;
options.UpdateFields = true;
options.Exportroundtripinformation = true;
options.ExportimagesAsBase64 = true;
options.ExportFontsAsBase64 = true;
options.ExportPageSetup = true;
options.ExportDocumentProperties = true;
options.ExportHeadersFootersMode = ExportHeadersFootersMode.PerSection;
options.HtmlVersion = HtmlVersion.Html5;

doc.Save($"{fileName}.html",options);

将HTML5转换回DOCX的代码是模型。HTML是TinyMCE文本区域:

var doc = new Document();
var builder = new DocumentBuilder(doc);
builder.InsertHtml(model.Html);
doc.Save($"{fileName}.docx");

有人可以帮助我使用一些代码示例吗? 或者,也许有一个更好的主意来完成任务。 主要思想是能够在线编辑DOCX文件,而不必下载并重新以某些Windows服务作为客户端重新上传。

解决方法

如果启用ExportRoundtripInformation选项,则Aspose.Word在保存到HTML时会保留页眉和页脚。在这种情况下,Aspose.Words使用特殊的CSS属性写入页眉和页脚内容,Aspose.Words可以理解这些内容:

<div>
    <p>
        <span>header</span>
    </p>
</div>

此外,Aspose.Words保留一些字段(PAGE,NUMPAGES,NOTEREF,REF,AUTOR和TITLE)。例如,PAGE字段的输出如下:

<span></span><span></span><span></span><span>1</span><span></span>

Aspose.Words会在读取HTML并将其作为字段加载到模型中时识别出这些内容。我也记录了WORDSNET-21037请求,以保留其他类型的字段。

我对TinyMCE并不熟悉,但是我怀疑Aspose.Words用于往返MS Word功能的自定义属性已删除,这就是为什么在您的案例中不保留Header和Footer的原因。

披露:我在Aspose.Words团队工作。

今天关于html – CSS – 100%的高度减去#px – 页眉和页脚页眉和页脚怎么设置的分享就到这里,希望大家有所收获,若想了解更多关于100 * 100 Canvas 占用内存多大、100 个 numpy 问题 43-100、100 个 numpy 问题 8-100、Aspose.Word将DOCX转换为HTML将失去MERGEFIELD,IF条件,页眉和页脚,表格单元格的宽度等相关知识,可以在本站进行查询。

本文标签:

上一篇html – 如何使用twitter bootstrap格式化背景颜色?(推特背景颜色怎么设置)

下一篇html – 使div浮动留下,但如果文本太长,则不会“下降”(html中div浮动)