Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Primal rage of css primitives
Protozaur is semantic, mnemonic, declarative CSS framework, created to avoid wasting time and increase productivity
<td style="text-align:left">
<b>CSS style</b>
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ma
</td>
<td width="400px" valign="top" style='vertical-align:top'>
margin: auto
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'><b>Margin</b></td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
m0 ... m100 — <em>(step 5)</em>
</td>
<td width="400px" valign="top" style='vertical-align:top'>
margin: <b>X</b>px !important;
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ml0 ... ml100
</td>
<td width="400px" valign="top" style='vertical-align:top'>
margin-left: <b>X</b>px !important;
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
mr0 ... mr100
</td>
<td width="400px" valign="top" style='vertical-align:top'>
margin-right: <b>X</b>px !important;
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
mt0 ... mt100
</td>
<td width="400px" valign="top" style='vertical-align:top'>
margin-top: <b>X</b>px !important;
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
mb0 ... mb100
</td>
<td width="400px" valign="top" style='vertical-align:top'>
margin-bottom: <b>X</b>px !important;
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'><b>Padding</b></td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
p0 ... p100
</td>
<td width="400px" valign="top" style='vertical-align:top'>
padding: <b>X</b>px !important;
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
pl0 ... pl100
</td>
<td width="400px" valign="top" style='vertical-align:top'>
padding-left: <b>X</b>px !important;
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
pr0 ... pr100
</td>
<td width="400px" valign="top" style='vertical-align:top'>
padding-right: <b>X</b>px !important;
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
pt0 ... pt100
</td>
<td width="400px" valign="top" style='vertical-align:top'>
padding-top: <b>X</b>px !important;
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
pb0 ... pb100
</td>
<td width="400px" valign="top" style='vertical-align:top'>
padding-bottom: <b>X</b>px !important;
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'><b>Width</b></td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
w10 ... w1200
</td>
<td width="400px" valign="top" style='vertical-align:top'>
width: <b>X</b>px !important;
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
w5p ... w100p
</td>
<td width="400px" valign="top" style='vertical-align:top'>
width: <b>X</b>% !important;
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'><b>Display</b></td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
inline
</td>
<td width="400px" valign="top" style='vertical-align:top'>
display: inline !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
block
</td>
<td width="400px" valign="top" style='vertical-align:top'>
display: block !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
iblock
</td>
<td width="400px" valign="top" style='vertical-align:top'>
display: inline-block !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'><b>Table</b></td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ptz--table
</td>
<td width="400px" valign="top" style='vertical-align:top'>
display: table
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ptz--row, ptz--tr
</td>
<td width="400px" valign="top" style='vertical-align:top'>
display: table-row
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ptz--cell, ptz--th, ptz--td
</td>
<td width="400px" valign="top" style='vertical-align:top'>
display: table-cell; vertical-align: top
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'> </td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
vat
</td>
<td width="400px" valign="top" style='vertical-align:top'>
vertical-align: top !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
vam
</td>
<td width="400px" valign="top" style='vertical-align:top'>
vertical-align: middle !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
vab
</td>
<td width="400px" valign="top" style='vertical-align:top'>
vertical-align: bottom !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'><b>Position</b></td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
posrel
</td>
<td width="400px" valign="top" style='vertical-align:top'>
position: relative !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
posabs
</td>
<td width="400px" valign="top" style='vertical-align:top'>
position: absolute !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'><b>Common style</b></td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
fs0, fs10 ... fs30 — <em>(step 1)</em>
</td>
<td width="400px" valign="top" style='vertical-align:top'>
font-size: <b>X</b>px !important;
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
lh100 ... lh200
</td>
<td width="400px" valign="top" style='vertical-align:top'>
line-height: <b>X</b>% !important;
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'> </td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
tac
</td>
<td width="400px" valign="top" style='vertical-align:top'>
text-align: center !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
tar
</td>
<td width="400px" valign="top" style='vertical-align:top'>
text-align: right !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
tal
</td>
<td width="400px" valign="top" style='vertical-align:top'>
text-align: left !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
taj
</td>
<td width="400px" valign="top" style='vertical-align:top'>
text-align: justify !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'> </td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
b
</td>
<td width="400px" valign="top" style='vertical-align:top'>
font-weight: bold !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
i
</td>
<td width="400px" valign="top" style='vertical-align:top'>
font-style: italic !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
n
</td>
<td width="400px" valign="top" style='vertical-align:top'>
font-style: normal !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
u
</td>
<td width="400px" valign="top" style='vertical-align:top'>
text-decoration: underline !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
fwn
</td>
<td width="400px" valign="top" style='vertical-align:top'>
font-weight: normal !important
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'> </td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
upcase
</td>
<td width="400px" valign="top" style='vertical-align:top'>
text-transform: uppercase
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
downcase
</td>
<td width="400px" valign="top" style='vertical-align:top'>
text-transform: lowercase
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'> </td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ffa
</td>
<td width="400px" valign="top" style='vertical-align:top'>
font-family: Arial
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
fft
</td>
<td width="400px" valign="top" style='vertical-align:top'>
font-family: Tahoma
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ffv
</td>
<td width="400px" valign="top" style='vertical-align:top'>
font-family: Verdana
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ffg
</td>
<td width="400px" valign="top" style='vertical-align:top'>
font-family: Georgia
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ffm
</td>
<td width="400px" valign="top" style='vertical-align:top'>
font-family: Monospace
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
fftnr
</td>
<td width="400px" valign="top" style='vertical-align:top'>
font-family: Times New Roman
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'> </td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
br-off
</td>
<td width="400px" valign="top" style='vertical-align:top'>
white-space: nowrap
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
br-on
</td>
<td width="400px" valign="top" style='vertical-align:top'>
white-space: normal
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'> </td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ls0
</td>
<td width="400px" valign="top" style='vertical-align:top'>
letter-spacing: 0
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
lsn
</td>
<td width="400px" valign="top" style='vertical-align:top'>
letter-spacing: normal
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'><b>Buttons</b></td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ptz--btn
</td>
<td width="400px" valign="top" style='vertical-align:top'>
button style
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ptz--size-10 ... ptz--size-25
</td>
<td width="400px" valign="top" style='vertical-align:top'>
button's size. 10px ... 25px
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'><b>Inputs</b></td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ptz--input, ptz--textarea
</td>
<td width="400px" valign="top" style='vertical-align:top'>
Input style
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ptz--size-10 ... ptz--size-25
</td>
<td width="400px" valign="top" style='vertical-align:top'>
inputs's size. 10px ... 25px
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'><b>Floating</b></td>
<td width="400px" valign="top" style='vertical-align:top'> </td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
clearfix
</td>
<td width="400px" valign="top" style='vertical-align:top'>
no comments
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
pull-left
</td>
<td width="400px" valign="top" style='vertical-align:top'>
float: left
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
pull-right
</td>
<td width="400px" valign="top" style='vertical-align:top'>
float: right
</td>
</tr>
<tr>
<td width="400px" valign="top" style='vertical-align:top'>
ofh
</td>
<td width="400px" valign="top" style='vertical-align:top'>
overflow: hidden !important
</td>
</tr>
CSS class |
<html>
<head>...</head>
<body class='ptz--reset'>...</body>
</html>
or
<html>
<head>...</head>
<body>
...
<div class='ptz--reset'> ... </div>
...
</body>
</html>
Example 1
<h1 class='fs18 lh130 mt20 mb20'>
Hello World!
</h1>
Will add to your H1 following css properties:
font-size: 18px;
line-height: 130%;
margin-top: 20px;
margin-bottom: 20px;
Example 2
<a href='http://github.com' class='ptz--btn ptz--size-16'>Button to Github</a>
Will show button based on font-size: 16px;
Example 3
<form action='/action.php'>
<div class='m20'>
<div class='mb20'>
<input name='login' type='text' class='ptz--input ptz--size-16 w300'>
</div>
<div class='mb20'>
<input name='email' type='text' class='ptz--input ptz--size-16 w300'>
</div>
<div class='clearfix'>
<div class='pull-right'>
<input type='submit' class='ptz--submit ptz--size-16'>
</div>
</div>
</div>
</form>
All CSS properties can be split in 2 groups:
background
, color
, border
etc.)margin
, padding
, font-size
etc.)Protozaur say:
Protozaur advice:
also will be better to include inputs-buttons
componetns:
Protozaur:
box-sizing: border-box
propertyProtozaur it's not a competitor to your CSS framework. Protozaur is assistant. It helps to reduce size of your CSS files and makes your HTML much easer to read and understand.
Fell free to use Protozaur (or it's idea) with any CSS framework.
As you see Protozaur based on very simple idea and implemented with really simple code.
If you need something special you can copy/paste a part of Protozaur's code and modify it.
Gemfile
gem 'protozaur'
bundle
app/assets/stylesheets/applicaition.css
/*
#= require ptz/reset
#= require ptz/base
#= require ptz/framework
#= require ptz/inputs-buttons/base
#= require ptz/inputs-buttons/sizes
*/
bower install protozaur
in HTML
<link rel="stylesheet" type="text/css" href="./bower_components/ptz/protozaur.min.css">
npm install protozaur
you can use following path
node_modules/protozaur/ptz/protozaur.min.css
See LICENSE.txt
FAQs
Unknown package
We found that protozaur demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.