介绍
Pure.css是一组小型的自适应CSS模块,可以在每个Web项目中使用。Pure以Normalize.css为基础,并提供native HTML元素以及最常见的UI组件的布局和样式,考虑到移动设备,Pure具有开箱即用的响应能力,因此元素在所有屏幕尺寸上都看起来不错。
PS:Normalize.css使浏览器更一致地渲染所有元素,并符合现代标准。它只针对需要规范化的样式。
Github
https://github.com/pure-css/pure
相关特性可以根据需求进行定制的响应式网格。建立在Normalize.css上的坚实基础,可解决跨浏览器的兼容性问题。与和元素一起使用的样式一致的按钮。垂直和水平菜单的样式,包括对下拉菜单的支持。表格对齐方式在所有屏幕尺寸上看起来都很好。各种常见的表格样式。极简的外观,易于定制。默认情况下是响应式的,具有非响应式配置选项。极小的体积:缩小4.5KB + gzip。兼容性IE 8+Latest Stable: Firefox, Chrome, SafariiOS 6-8Android 4.4+布局
通过使用Grid,Menu等,可以轻松创建适用于所有屏幕尺寸的精美响应式布局。
Pure的设计目标是可以在每个Web项目中使用它
定制化
与其他框架不同,Pure的设计不受限制,最小且扁平。添加新的CSS规则比覆盖现有规则要容易得多。通过添加几行CSS,可以自定义Pure的外观以与你的Web项目一起使用。
表单
以下创建默认的内联表单,将pure-form类名添加到任何元素。如下
还有其他常见类型表单,本文不过多介绍
按钮
表格
要设置HTML表的样式,请添加pure-table类名。此类为表元素添加了填充和边框,并强调了标题。
菜单
默认情况下,菜单是垂直的。
要创建水平菜单,请添加pure-menu-horizontal类名称。
总结
本文只介绍了部分有关于Pure的内容,详细的介绍可以Github以及官方提供的详细内容和使用指南!
Java中精度丢失问题分析与解决
Java中的精度丢失问题是开发者经常遇到的一个挑战。在处理浮点数和小数时,Java很容易引起精度丢失问题,导致计算结果与预期不符。为了解决这个问题,开发者需要了解问题的原因,并采取适当的方法来确保精确计算。
一种常见的精度丢失问题是浮点数精度丢失。这是由于二进制浮点数无法准确表示一些十进制小数导致的。例如,在Java中执行以下计算:float a = 1.3; float b = 1.2; float c = a - b; 结果会是0.10000000000000009,而不是预期的0.1。这是因为1.3和1.2不能准确表示为二进制浮点数。为了避免这个问题,可以使用BigDecimal类来进行精确的浮点数计算。以下是使用BigDecimal解决精度丢失问题的示例代码:
```java
import java.math.BigDecimal;
public class PrecisionLossExample {
public static void main(String[] args) {
BigDecimal a = new BigDecimal(1.3);
BigDecimal b = new BigDecimal(1.2);
BigDecimal c = a.subtract(b);
System.out.println(c); // 输出0.1
```
另一个精度丢失的问题与整数除法相关。在Java中,当两个整数相除时,结果会被截断为整数。例如,执行以下计算:int a = 5; int b = 2; int c = a / b; 结果将是2,而不是预期的2.5。为了得到正确的结果,可以将其中一个操作数强制转换为浮点数,然后执行除法运算。以下是解决整数除法精度丢失问题的示例代码:
```java
public class PrecisionLossExample {
public static void main(String[] args) {
int a = 5;
int b = 2;
double c = (double) a / b;
System.out.println(c); // 输出2.5
```
还有一种精度丢失问题涉及到大数运算。当执行超出常规整数范围的大数计算时,Java会引起精度丢失。例如,执行以下计算:int a = 1000000000; int b = 1000000000; int c = a * b; 结果将溢出,并且输出负数。为了解决这个问题,可以使用BigInteger类进行大数运算。以下是使用BigInteger解决精度丢失问题的示例代码:
```java
import java.math.BigInteger;
public class PrecisionLossExample {
public static void main(String[] args) {
BigInteger a = new BigInteger(1000000000);
BigInteger b = new BigInteger(1000000000);
BigInteger c = a.multiply(b);
System.out.println(c); // 输出1000000000000000000
```
此外,还有一些其他的精度丢失问题需要开发者注意。例如,在比较浮点数时,应使用BigDecimal的compareTo方法而不是直接使用等号来判断是否相等。另外,对于需要高精度计算的场景,可以考虑使用第三方库,如Apache Commons Math或JScience来处理精度丢失问题。
总结起来,Java中的精度丢失问题是一个常见的挑战,涉及到浮点数精度丢失、整数除法精度丢失和大数运算溢出等。为了解决这个问题,开发者可以使用BigDecimal和BigInteger类来进行精确计算,并注意使用适当的比较方法来判断相等性。此外,第三方库也可以提供更多处理精度丢失问题的选项。通过了解和应用这些技巧,开发者可以在Java中有效地解决精度丢失问题。