Stranger6667 / css-inline

High-performance library for inlining CSS into HTML 'style' attributes
https://css-inline.org/
MIT License
232 stars 29 forks source link

Padding, marging has incorrect order while merging with inline #364

Closed sshishov closed 3 months ago

sshishov commented 3 months ago

This is originally the same issue as:

But the problem in my case, is inline style with injected

import css_inline

html = """<html>
<head>
    <title>Test</title>
    <style>
        .test { padding: 0; }
    </style>
</head>
<body>
    <h1 class="test" style="padding-left: 16px">Should have padding: 0 0 0 16px;</h1>
</body>
</html>"""

print(css_inline.inline(html))

# <html><head>
#     <title>Test</title>
# 
# </head>
# <body>
#     <h1 class="test" style="padding-left: 16px;padding: 0">Should have padding: 0 0 0 16px;</h1>
# 
# </body></html>

The local styles should have the precedence over class styles, therefore should be applied last, not first.

Stranger6667 commented 3 months ago

Hi @sshishov

What version of css-inline are you using?

sshishov commented 3 months ago

Hello @Stranger6667 I am using 0.14.0:

css-inline==0.14.0 \
    --hash=sha256:13e591616c2a0d239f5ab3d598db85669740504bced9c019ec43c7106b0508cc \
    --hash=sha256:1fb0ba42e95c372cb7bdb7adacb7feed9187dc7cb6f5cbfbbdcd4d74b3a2bfc5 \
    --hash=sha256:27809b9fc3814e30a95dace0b3a5e8f2404d77d49474a2df977f939403b13f44 \
    --hash=sha256:3c5603865a6dfcfeb19039f9e28a2349e101a32d9a6dce05683779ace4fdbad3 \
    --hash=sha256:464594341395c03e81b327302667a2d8a28a8849e0ca27957f2928eebefda257 \
    --hash=sha256:62dc60087a0c4ef1f99e1347048ee811273069c150c971d470e394d0f5929bdc \
    --hash=sha256:6ba47697c54d36d7a7b94ec2be43c7bc462a9fee5787289678923225e1a47ba8 \
    --hash=sha256:78a016d063f56d566778f1e494d16c42cbe94f139dba0a98bd1a3af0fc5289b3 \
    --hash=sha256:7bfefab6bb58a78e7fdb5dbcd0712714665e426f9558d7113c5ebe84d4ccc258 \
    --hash=sha256:8b3eddb595d785a86e55a7f768782aa86529b28a13aaee86a36d0f4dbd641848 \
    --hash=sha256:929387a7eec70a97bc9592c2bb76c9db2c4a9b4e9317ead78f39c36f705c3021 \
    --hash=sha256:9c4622c41391e151f716e4350365b801696c17e1ef6611226bd239ba5b88eec3 \
    --hash=sha256:9e29abd0c63faca59bffed63fcaef27c2c9923f992963d299fce34daa8104583 \
    --hash=sha256:a56d887fbcaccf1cee5fdf8a54ebe60cb69978cb7550a1dda136d3ed43e45363 \
    --hash=sha256:a59576ff476dcfaf2212ad5caa61ce0485745a770d312db38aa8deeedc209a6f \
    --hash=sha256:c21ad2e70b6291dca8d44d750d6d231312e6478d3389ec55a1db295d31f12e73 \
    --hash=sha256:dad01a269b161d12beed9f74363b6f329fe7ca0b30bbed448c66bc551cce58d7 \
    --hash=sha256:dbb80664f3f65a2835917de80a502a8383ade04fa38fa65c0dfcd5d96f80c6c0 \
    --hash=sha256:e7ac85949b740fee9fbbeffeb07187ad89b3828ac6dc84468480e77aed8e1849 \
    --hash=sha256:eb1471b708f9757fc10447f0ce38ddb76fd3d946b44dda82d4bc01ffcd24dbe2 \
    --hash=sha256:f4868a27e2ab794e6fa6a49db84483e23930208a8e2d6eedfdaf0db40e6327ce \
    --hash=sha256:f63fc8b79ca407950d316bf3b0280a753510b6d318c78617c6ff43af190a09e5 \
    --hash=sha256:fc7f4e703fb422e815b1e69baeeb200773351f54c4d00e1c95179742f43703f3 \
    --hash=sha256:ff8e13f76b1481c236fd8498dfec9647aadfbe120f19762983c7207138087198
Stranger6667 commented 3 months ago

Indeed, thank you for reporting! I'll take a look at it over the weekend

Stranger6667 commented 3 months ago

The fix is released in 0.14.1 (available in PyPI)