ba The meaning of Jesus' death : reviewing the New Testament's interpretations / Barry D. Smith By prospero.murdoch.edu.au Published On :: Smith, Barry D., 1957 December 4- author Full Article
ba Reconstructing the historical background of Paul's rhetoric in the Letter of the Colossians / Adam Copenhaver By prospero.murdoch.edu.au Published On :: Copenhaver, Adam, author Full Article
ba The doubt of the apostles and the resurrection faith of the early church : the post-resurrection appearance stories of the Gospels in ancient reception and modern debate / J.D. Atkins By prospero.murdoch.edu.au Published On :: Atkins, J. D., 1976- author Full Article
ba Bible nation : the United States of Hobby Lobby / Candida R. Moss and Joel S. Baden By prospero.murdoch.edu.au Published On :: Moss, Candida R., author Full Article
ba A history of the Bible : the book and its faiths / John Barton By prospero.murdoch.edu.au Published On :: Barton, John, 1948- author Full Article
ba John the Baptist in history and theology / Joel Marcus By prospero.murdoch.edu.au Published On :: Marcus, Joel, 1951- author Full Article
ba Neither complementarian nor egalitarian : a kingdom corrective to the evangelical gender debate / Michelle Lee-Barnewall ; foreword by Craig L. Blomberg ; afterword by Lynn H. Cohick By prospero.murdoch.edu.au Published On :: Lee-Barnewall, Michelle, 1966- author Full Article
ba Reading Romans backwards : a gospel of peace in the midst of empire / Scot McKnight By prospero.murdoch.edu.au Published On :: McKnight, Scot, author Full Article
ba The bad Jesus : the ethics of New Testament ethics / Hector Avalos By prospero.murdoch.edu.au Published On :: Avalos, Hector, author Full Article
ba Colossians and Philemon / John M.G. Barclay By prospero.murdoch.edu.au Published On :: Barclay, John M. G., author Full Article
ba The New Testament : a historical introduction to the early Christian writings / Bart D. Ehrman By prospero.murdoch.edu.au Published On :: Ehrman, Bart D., author Full Article
ba Mary Magdalene understood / Jane Schaberg with Melanie Johnson-DeBaufre By prospero.murdoch.edu.au Published On :: Schaberg, Jane Full Article
ba Jesus in memory : traditions in oral and scribal perspectives / Werner H. Kelber, Samuel Byrskog, editors By prospero.murdoch.edu.au Published On :: Full Article
ba Jesus' literacy : scribal culture and the teacher from Galilee / Chris Keith By prospero.murdoch.edu.au Published On :: Keith, Chris, author Full Article
ba John the Baptist : prophet of purity for a new age / Catherine M. Murphy By prospero.murdoch.edu.au Published On :: Murphy, Catherine M., 1961- author Full Article
ba The first Christian believer : in search of John the Baptist / Rivka Nir By prospero.murdoch.edu.au Published On :: Nir, Rivḳah, author Full Article
ba Handbook of global contemporary Christianity : movements, institutions, and allegiance / edited by Stephen Hunt By prospero.murdoch.edu.au Published On :: Full Article
ba Worship and social engagement in urban Aboriginal-led Australian Pentecostal congregations : (re)imagining identity in the spirit / by Tanya Riches By prospero.murdoch.edu.au Published On :: Riches, Tanya, author Full Article
ba Edwin Sandys and the reform of English religion / Sarah L. Bastow By prospero.murdoch.edu.au Published On :: Bastow, Sarah L., author Full Article
ba Can Science Resolve the Nature / Nurture Debate? By www.wiley.com Published On :: 2020-04-27T04:00:00Z Following centuries of debate about "nature and nurture" the discovery of DNA established the idea that nature (genes) determines who we are, relegating nurture (environment) to icing on the cake. Since the 1950s, the new science of epigenetics has demonstrated how cellular environments and certain experiences and behaviors influence gene expression at the molecular level, with significant implications for health and wellbeing. To the amazement of Read More... Full Article
ba Structure and Function of the Bacterial Genome By www.wiley.com Published On :: 2020-04-28T04:00:00Z Presents an integrated view of the expression of bacterial genetic information, genome architecture and function, and bacterial physiology and pathogenesisThis book blends information from the very latest research on bacterial chromosome and nucleoid architecture, whole-genome analysis, cell signaling, and gene expression control with well-known gene regulation paradigms from model organisms (including pathogens) to give readers a picture of how information Read More... Full Article
ba Superior performance of surface-treated NaX@Pebax-1657 membranes for O2/N2 separation By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17061-17069DOI: 10.1039/D0RA02255A, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Mohammad Salehi Maleh, Ahmadreza RaisiIn this study, the performances of mixed matrix composite membranes (MMCMs) containing surface-treated NaX nanocrystals (ST-NaX-NCs) were experimentally and theoretically investigated for O2/N2 separation.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba An ionic diode based on a spontaneously formed polypyrrole-modified graphene oxide membrane By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17079-17084DOI: 10.1039/D0RA01145B, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Rifeng Luo, Tianliang Xiao, Wenping Li, Zhaoyue Liu, Yao WangWe described an ionic diode based on polypyrrole-modified graphene oxide membrane, which was prepared by a spontaneous oxidation polymerization of pyrrole monomers.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba A concise and sequential synthesis of the nitroimidazooxazole based drug, Delamanid and related compounds By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17085-17093DOI: 10.1039/D0RA01662D, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Sumit Sharma, Radhika Anand, Pankaj Singh Cham, Sushil Raina, Ram. A. Vishwakarma, Parvinder Pal SinghA concise, protection-group free and sequential route has been developed for the synthesis of the nitroimidazole based FDA-approved multi-drug resistant anti-tuberculosis drug, Delamanid and anti-leishmanial lead candidate VL-2098.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Hydroxyethyl sulfone based reactive coalescing agents for low-VOC waterborne coatings By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17171-17179DOI: 10.1039/D0RA00753F, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Jagjit Kaur, Ranganathan Krishnan, Balamurugan Ramalingam, Satyasankar JanaHydroxyethyl sulfone based compounds were revealed to exhibit characteristics of reactive coalescing agents towards application in environmentally-benign water borne coatings.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Impact of ammonium sulfite-based sequential pretreatment combinations on two distinct saccharifications of wheat straw By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17129-17142DOI: 10.1039/D0RA01759K, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Guang Yu, Shiyue Liu, Xiaoyan Feng, Yuedong Zhang, Chao Liu, Ya-Jun Liu, Bin Li, Qiu Cui, Hui PengThe impact of substrate properties on wheat straw sugar release from fungal cellulase and whole cell-based CBS was comparatively investigated.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba 3D flower-like molybdenum disulfide modified graphite felt as a positive material for vanadium redox flow batteries By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17235-17246DOI: 10.1039/D0RA02541K, Paper Open Access   This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.Lei Wang, Shuangyu Li, Dan Li, Qinhao Xiao, Wenheng JingThe open flower-like structure facilitates vanadium ion transport. The capacity and efficiency of a battery using MoS2/GF are dramatically increased.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Stable antibacterial polysaccharide-based hydrogels as tissue adhesives for wound healing By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17280-17287DOI: 10.1039/D0RA02017F, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Xiaoxuan Tang, Xinyi Gu, Yaling Wang, Xiaoli Chen, Jue Ling, Yumin YangBy combination of alginate/polyacrylamide/chitosan, tough antibacterial hydrogels are designed for applications as tissues adhesives to promote wound healing.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Wrist flexible heart pulse sensor integrated with a soft pump and a pneumatic balloon membrane By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17353-17358DOI: 10.1039/D0RA02316G, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Takafumi Yamaguchi, Daisuke Yamamoto, Takayuki Arie, Seiji Akita, Kuniharu TakeiWearable and flexible heart pulse sensor is proposed to monitor the detailed pulse signal from a wrist stably and reliably by integrating a tactile pressure sensor and a soft pneumatic balloon operated by a soft pump.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Cs2NaGaBr6: a new lead-free and direct band gap halide double perovskite By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17444-17451DOI: 10.1039/D0RA01764G, Paper Open Access   This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.Yasir Saeed, Bin Amin, Haleema Khalil, Fida Rehman, Hazrat Ali, M. Imtiaz Khan, Asif Mahmood, M. ShafiqIn this work, we have studied new double perovskite materials, A21+B2+B3+X61−, where A21+ = Cs, B2+ = Li, Na, B3+ = Al, Ga, In, and X61−.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Detection of L-band electron paramagnetic resonance in the DPPH molecule using impedance measurements By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17311-17316DOI: 10.1039/D0RA03285A, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Ushnish Chaudhuri, R. Mahendiran(a) Schematic diagram of our experimental set up. (b) Resistance and reactance of the DPPH molecule for 2 GHz current in the strip coil.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Transformation of ZIF-8 nanoparticles into 3D nitrogen-doped hierarchically porous carbon for Li–S batteries By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17345-17352DOI: 10.1039/C9RA10063F, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Guiqiang Cao, Da Bi, Jingxiang Zhao, Jing Zheng, Zhikang Wang, Qingxue Lai, Yanyu LiangA novel transformation strategy assisted with ammonia treatment was successfully developed to fabricate ZIF-8-derived nitrogen-doped hierarchically porous carbon (NHPC/NH3).The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba A dopamine electrochemical sensor based on a platinum–silver graphene nanocomposite modified electrode By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17336-17344DOI: 10.1039/C9RA11056A, Paper Open Access   This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.Nadzirah Sofia Anuar, Wan Jeffrey Basirun, Md. Shalauddin, Shamima AkhterA platinum–silver graphene nanocomposite was synthesized and characterized. A nanocomposite modified electrode was fabricated in order to investigate the electrochemical detection of dopamine.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Enhanced thermal stability, hydrophobicity, UV radiation resistance, and antibacterial properties of wool fabric treated with p-aminobenzenesulphonic acid By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17515-17523DOI: 10.1039/D0RA02267E, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Mohammad Mahbubul HassanThe treatment with para-aminobenzenesulphonic acid produced a multifunctional wool fabric with enhanced hydrophobicity, thermal stability, UV resistance, and antibacterial properties.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Cobalt–carbon/silica nanocomposites prepared by pyrolysis of a cobalt 2,2'-bipyridine terephthalate complex for remediation of cationic dyes By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17660-17672DOI: 10.1039/D0RA02752A, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Nusaybah Alotaibi, Hassan H. Hammud, Ranjith Kumar Karnati, Syed Ghazanfar Hussain, Javed Mazher, Thirumurugan PrakasamA cobalt–carbon@silica nanocomposite was synthesized from a cobalt 2,2'-bipyridine terephthalate complex and its adsorption behavior towards crystal violet dye was tested using batch and column techniques.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Ultrathin δ-MnO2 nanoflakes with Na+ intercalation as a high-capacity cathode for aqueous zinc-ion batteries By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17702-17712DOI: 10.1039/D0RA02556A, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Haijun Peng, Huiqing Fan, Chenhui Yang, Yapeng Tian, Chao Wang, Jianan SuiSodium-ion intercalated δ-MnO2 nanoflakes are applied in an aqueous rechargeable zinc battery cathode with high energy density and excellent durable stability.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Correction: Synthesis of α,β-unsaturated esters of perfluoropolyalkylethers (PFPAEs) based on hexafluoropropylene oxide units for photopolymerization By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17416-17417DOI: 10.1039/D0RA90036B, Correction Open Access   This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.Céline Bonneaud, Mélanie Decostanzi, Julia Burgess, Giuseppe Trusiano, Trevor Burgess, Roberta Bongiovanni, Christine Joly-Duhamel, Chadron M. FriesenThe content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Work function modification of PEDOT:PSS by mixing with barium acetylacetonate By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17673-17680DOI: 10.1039/D0RA02575E, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.K. L. Woon, W. S. Wong, N. Chanlek, H. Nakajima, S. Tunmee, V. S. Lee, A. Ariffin, P. SongsiriritthigulModification of poly(3,4-ethylenedioxythiophene)polystyrene sulfonate as electron injection layer.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba A highly sensitive, selective and renewable carbon paste electrode based on a unique acyclic diamide ionophore for the potentiometric determination of lead ions in polluted water samples By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17552-17560DOI: 10.1039/D0RA01435D, Paper Open Access   This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.M. A. Zayed, Walaa H. Mahmoud, Ashraf A. Abbas, Aya E. Ali, Gehad G. MohamedDue to the toxicity of lead(II) to all living organisms destroying the central nervous system and leading to circulatory system and brain disorders, the development of effective and selective lead(II) ionophores for its detection is very important.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Selective cytotoxic effect against the MDA-MB-468 breast cancer cell line of the antibacterial palindromic peptide derived from bovine lactoferricin By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17593-17601DOI: 10.1039/D0RA02688C, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Andrea Barragán-Cárdenas, Maribel Urrea-Pelayo, Víctor Alfonso Niño-Ramírez, Adriana Umaña-Pérez, Jean Paul Vernot, Claudia Marcela Parra-Giraldo, Ricardo Fierro-Medina, Zuly Rivera-Monroy, Javier García-CastañedaThe cytotoxic effect against the breast cancer cell line MDA-MB-468 of the palindromic peptide LfcinB (21–25)Pal: 1RWQWRWQWR9 and its analogous peptides, obtained via alanine scanning, was evaluated.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Correction: Influence of co-cultures of Streptococcus thermophilus and probiotic lactobacilli on quality and antioxidant capacity parameters of lactose-free fermented dairy beverages containing Syzygium cumini (L.) Skeels pulp By feeds.rsc.org Published On :: RSC Adv., 2020, 10,16905-16905DOI: 10.1039/D0RA90046J, Correction Open Access   This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.Sabrina Laís Alves Garcia, Gabriel Monteiro da Silva, Juliana Maria Svendsen Medeiros, Anna Paula Rocha de Queiroga, Blenda Brito de Queiroz, Daniely Rayane Bezerra de Farias, Joyceana Oliveira Correia, Eliane Rolim Florentino, Flávia Carolina Alonso BuritiThe content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba A chitosan-based edible film with clove essential oil and nisin for improving the quality and shelf life of pork patties in cold storage By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17777-17786DOI: 10.1039/D0RA02986F, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Karthikeyan Venkatachalam, Somwang LekjingThis study assessed chitosan (CS)-based edible films with clove essential oil (CO) and nisin (NI) singly or in combination, for improving quality and shelf life of pork patties stored in cold conditions.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Effect of Zn doping on phase transition and electronic structures of Heusler-type Pd2Cr-based alloys: from normal to all-d-metal Heusler By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17829-17835DOI: 10.1039/D0RA02951C, Paper Open Access   This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.Xiaotian Wang, Mengxin Wu, Tie Yang, Rabah KhenataBy first-principles calculations, for Heusler alloys Pd2CrZ (Z = Al, Ga, In, Tl, Si, Sn, P, As, Sb, Bi, Se, Te, Zn), the effect of Zn doping on their phase transition and electronic structure has been studied in this work.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Synthesis, characterization and corrosion inhibition behavior of 2-aminofluorene bis-Schiff bases in circulating cooling water By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17816-17828DOI: 10.1039/D0RA01903H, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Wenchang Wei, Zheng Liu, Chuxin Liang, Guo-Cheng Han, Jiaxing Han, Shufen ZhangTwo new bis-Schiff bases, namely 2-bromoisophthalaldehyde-2-aminofluorene (M1) and glutaraldehyde 2-aminofluorene (M2) were synthesized and were characterized, the potentiodynamic polarization curve confirmed that they were anode type inhibitors.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Correction: Narrowing band gap and enhanced visible-light absorption of metal-doped non-toxic CsSnCl3 metal halides for potential optoelectronic applications By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17869-17869DOI: 10.1039/D0RA90054K, Correction Open Access   This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.Jakiul Islam, A. K. M. Akther HossainThe content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Synthesis of heteroatom-containing pyrrolidine derivatives based on Ti(O-iPr)4 and EtMgBr-catalyzed carbocyclization of allylpropargyl amines with Et2Zn By feeds.rsc.org Published On :: RSC Adv., 2020, 10,17881-17891DOI: 10.1039/D0RA02677H, Paper Open Access   This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.Rita N. Kadikova, Ilfir R. Ramazanov, Azat M. Gabdullin, Oleg S. Mozgovoj, Usein M. DzhemilevThe Ti(O-iPr)4 and EtMgBr-catalyzed regio and stereoselective carbocyclization of N-allyl-substituted 2-alkynylamines with Et2Zn, followed by deuterolysis or hydrolysis, affords the corresponding methylenepyrrolidine derivatives in high yields.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ba Multiple Backgrounds and Borders with CSS 2.1 By nicolasgallagher.com Published On :: Wed, 09 Jun 2010 17:00:00 -0700 Using CSS 2.1 pseudo-elements to provide up to 3 background canvases, 2 fixed-size presentational images, and multiple complex borders for a single HTML element. This method of progressive enhancement works for all browsers that support CSS 2.1 pseudo-elements and their positioning. No CSS3 support required. Demo: Multiple Backgrounds with CSS 2.1 Demo: Multiple Borders with CSS 2.1 Support: Firefox 3.5+, Safari 4+, Chrome 4+, Opera 10+, IE8+. How does it work? Essentially, you create pseudo-elements using CSS (:before and :after) and treat them similarly to how you would treat HTML elements nested within your target element. But they have distinct benefits – beyond semantics – over the use of nested HTML elements. To provide multiple backgrounds and/or borders, the pseudo-elements are pushed behind the content layer and pinned to the desired points of the HTML element using absolute positioning. The pseudo-elements contain no true content and are absolutely positioned. This means that they can be stretched to sit over any area of the “parent” element without affecting its content. This can be done using any combination of values for the top, right, bottom, left, width, and height properties and is the key to their flexibility. What effects can be achieved? Using just one element you can create parallax effects, multiple background colours, multiple background images, clipped background images, image replacement, expandable boxes using images for borders, fluid faux columns, images existing outside the box, the appearance of multiple borders, and other popular effects that usually require images and/or the use of presentational HTML. It is also possible to include 2 extra presentational images as generated content. The Multiple Backgrounds with CSS 2.1 and Multiple Borders with CSS 2.1 demo pages show how several popular examples of these effects can be achieved with this technique. Most structural elements will contain child elements. Therefore, more often than not, you will be able to gain a further 2 pseudo-elements to use in the presentation by generating them from the first child (and even last-child) element of the parent element. In addition, you can use style changes on :hover to produce complex interaction effects. Example code: multiple background images Using this technique it is possible to reproduce multiple-background parallax effects like those found on the Silverback site using just one HTML element. The element gets its own background image and any desired padding. By relatively positioning the element it acts as the reference point when absolutely positioning the pseudo-elements. The positive z-index will allow for the correct z-axis positioning of the pseudo-elements. #silverback { position: relative; z-index: 1; min-width: 200px; min-height: 200px; padding: 120px 200px 50px; background: #d3ff99 url(vines-back.png) -10% 0 repeat-x; } Both pseudo-elements are absolutely positioned and pinned to each side of the element. The z-index value of -1 moves the pseudo-elements behind the content layer. This way the pseudo-elements sit on top of the element’s background and border but all the content is still selectable or clickable. #silverback:before, #silverback:after { position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 0; padding-top: 100px; } Each pseudo-element then has a repeated background-image set. This is all that is needed to reproduce the parallax effect. The content property lets you add an image as generated content. With two pseudo-elements you can add 2 further images to an element. They can be crudely positioned within the pseudo-element box by varying other properties such as text-align and padding. #silverback:before { content: url(gorilla-1.png); padding-left: 3%; text-align: left; background: transparent url(vines-mid.png) 300% 0 repeat-x; } #silverback:after { content: url(gorilla-2.png); padding-right: 3%; text-align: right; background: transparent url(vines-front.png) 70% 0 repeat-x; } The finished product is part of the Multiple Backgrounds with CSS 2.1 demo. Example code: fluid faux columns Another application is creating equal height fluid columns without images or extra nested containers. The HTML base is very simple. I’ve used specific classes on each child div rather than relying on CSS 2.1 selectors that IE6 does not support. If you don’t require IE6 support you don’t actually need the classes. <div id="faux"> <div class="main">[content]</div> <div class="supp1">[content]</div> <div class="supp2">[content]</div> </div> The percentage-width container is once again relatively positioned and a positive z-index is set. Applying overflow:hidden gets the element to wrap its floated children and will hide the overflowing pseudo-elements. The background colour will provide the colour for one of the columns. #faux { position: relative; z-index: 1; width: 80%; margin: 0 auto; overflow: hidden; background: #ffaf00; } By using relative positioning on the child div‘s you can also control the order of the columns independently of their source order. #faux div { position: relative; float: left; width: 30%; } #faux .main { left: 35%; } #faux .supp1 { left: -28.5%; } #faux .supp2 { left: 8.5%; } The other two full-height columns are produced by creating, sizing, and positioning pseudo-elements with backgrounds. These backgrounds can be (repeating) images if the design requires. #faux:before, #faux:after { content: ""; position: absolute; z-index: -1; top: 0; right: 0; bottom: 0; left: 33.333%; background: #f9b6ff; } #faux:after { left: 66.667%; background: #79daff; } The finished product is part of the Multiple Backgrounds with CSS 2.1 demo. Example code: multiple borders Multiple borders are produced in much the same way. Using them can avoid the need for images to produce simple effects. An element must be relatively positioned and have sufficient padding to contain the width of the extra border you will be creating with pseudo-elements. #borders { position: relative; z-index: 1; padding: 30px; border: 5px solid #f00; background: #ff9600; } The pseudo-elements are positioned at specific distances away from the edge of the element’s box, moved behind the content layer with the negative z-index, and given the border and background values you want. #borders:before { content: ""; position: absolute; z-index: -1; top: 5px; left: 5px; right: 5px; bottom: 5px; border: 5px solid #ffea00; background: #4aa929; } #borders:after { content: ""; position: absolute; z-index: -1; top: 15px; left: 15px; right: 15px; bottom: 15px; border: 5px solid #00b4ff; background: #fff; } That’s all there is to it. The finished product is part of the Multiple Borders with CSS 2.1 demo. Progressive enhancement and legacy browsers IE6 and IE7 have no support for CSS 2.1 pseudo-elements and will ignore all :before and :after declarations. They get none of the enhancements but are left with the basic usable experience. A warning about Firefox 3.0 Firefox 3.0 supports CSS 2.1 pseudo-elements but does not support their positioning. Due to this partial support, you should avoid declaring display:block for absolutely positioned pseudo-elements that explicitly declare a width or height values. However, when using borders there is no graceful fallback for Firefox 3.0. Although, sometimes an improved appearance in Firefox 3.0 can be achieved by adding display:block to pseudo-element hacks that use borders. Enhancing with CSS3 All the applications included in this article could be further enhanced to take advantage of present-day CSS3 implementations. Using border-radius, rgba, and transforms, and CSS3 multiple background images in tandem with pseudo-elements can produce even more complex presentations that I hope to include in a future article. Currently there is no browser support for the use of CSS3 transitions or animations on pseudo-elements. In the future: CSS3 pseudo-elements The proposed extensions to pseudo-elements in the CSS3 Generated and Replaced Content Module include the addition of nested pseudo-elements (::before::before), multiple pseudo-elements (::after(2)), wrapping pseudo-elements (::outside), and the ability to insert pseudo-elements into later parts of the document (::alternate). These changes would provide a near limitless number, and arrangement, of pseudo-elements for all sorts of complex effects and presentations using just one element. Let me know what you’ve done I’ve focused on just a few applications and popular effects. If you find other applications, limitations, or want to share how you’ve applied this technique please leave a comment below or let me know on Twitter (@necolas. Translations 使用css2.1实现多重背景、多重边框效果 Full Article
ba Yet another HTML5 fallback strategy for IE By nicolasgallagher.com Published On :: Thu, 04 Nov 2010 17:00:00 -0700 If you’re using HTML5 elements then you’re probably also using a JavaScript shiv to help make it possible to style those elements in versions of Internet Explorer prior to IE9. But when JavaScript is disabled the accessibility of the content may be affected in these versions of IE. This is one way to provide a more accessible fallback. The concept is to ensure that all modern browsers are served the default style sheet(s) and that people using older versions of IE only download them if JavaScript is enabled. When JavaScript is not enabled, people using those browsers can be served either no styles at all (as Yahoo! suggests for browsers receiving C-Grade support) or simple fallback styles. Client-side method: conditional comments Doing this on the client-side comes at the cost of having to litter your code with proprietary conditional comments. First, it’s necessary to comment out the default style sheet(s) from versions of IE earlier than IE9. All other browsers will be able to read the file(s). <!--[if ! lt IE 9]><!--> <link rel="stylesheet" href="/css/default.css"> <!--<![endif]--> For earlier versions of IE, an HTML5 shiv is included and the necessary link elements are created and added to the DOM using JavaScript. This means that when JavaScript is not enabled in IE7 or IE8 the style sheet will not be present, resulting in an unstyled HTML page. In this example, IE6 won’t be served CSS at all. <!--[if (IE 7)|(IE 8)]> <script src="/js/html5.js"></script> <script> (function() { var link = document.createElement("link"); link.rel = "stylesheet"; link.href = "/css/default.css"; document.getElementsByTagName("head")[0].appendChild(link); }()); </script> <![endif]--> To support multiple style sheets, an array and for loop can be used. <!--[if (IE 7)|(IE 8)]> <script src="/js/html5.js"></script> <script> (function() { var css = [ '/css/default.css', '/css/section.css', '/css/custom.css' ]; var i; var link = document.createElement('link'); var head = document.getElementsByTagName('head')[0]; var tmp; link.rel = 'stylesheet'; for(i = 0; i < css.length; i++){ tmp = link.cloneNode(true); tmp.href = css[i]; head.appendChild(tmp); } }()); </script> <![endif]--> Thanks to Remy Sharp and Mathias Bynens for helping me to improve this script. Fork it. Rather than serving unstyled content, it may be preferable to provide some simple fallback styles. This can be done by linking to a separate style sheet wrapped in noscript tags. In this example, IE6 will always use these legacy styles while IE7 and IE8 will do so only when JavaScript is disabled. <!--[if lt IE 9]> <noscript> <link rel="stylesheet" href="/css/legacy.css"> </noscript> <![endif]--> You may wish to use a generic style sheet, such as “Universal IE6 CSS”, or spend a few minutes crafting your own and ensuring that the typography and colours approximate those in the default style sheet. The complete example code is as follows: <!--[if ! lt IE 9]><!--> <link rel="stylesheet" href="/css/default.css"> <!--<![endif]--> <!--[if (IE 7)|(IE 8)]> <script src="/js/html5.js"></script> <script> (function() { var link = document.createElement("link"); link.rel = "stylesheet"; link.href = "/css/default.css"; document.getElementsByTagName("head")[0].appendChild(link); }()); </script> <![endif]--> <!--[if lt IE 9]> <noscript> <link rel="stylesheet" href="/css/legacy.css"> </noscript> <![endif]--> Server-side method: user-agent string detection The drawbacks of current client-side approaches to IE fallbacks is that they are IE-specific, make extensive use of conditional comments, and have to use JavaScript to create or rewrite link elements. This blog makes use of an alternative approach: server-side user-agent detection. It was inspired by Yahoo!’s Graded Browser Support strategy – created by Nate Koechley – which recommends that all CSS and JavaScript is withheld from legacy browsers (not limited to IE). The source code in the head of this blog changes when viewed in modern browsers, IE8, and legacy browsers that are incapable of styling HTML5 elements (e.g. Firefox 2) or lack adequate CSS2.1 support (e.g. IE7). Browsers are assumed to be capable; there is no need to update the script every time a new browser is released. Only when a browser is deemed to be severely incapable is it added to a “blacklist” and served simple styles to ensure that the accessibility of the content is maintained. This is the method I prefer, although it does require more time upfront. Full Article
ba CSS background image hacks By nicolasgallagher.com Published On :: Sun, 16 Jan 2011 16:00:00 -0800 Emulating background image crop, background image opacity, background transforms, and improved background positioning. A few hacks relying on CSS pseudo-elements to emulate features unavailable or not yet widely supported by modern browsers. Demos: Example CSS background image hacks Pseudo-element hacks can fill some gaps in existing browser support for CSS features, without resorting to presentational HTML. In some cases, they even make it possible to emulate things that are not currently part of any W3C working draft, like background transforms and background image opacity. Most of the hacks in this article tie in with the pseudo-element hack described in an earlier article – Multiple Backgrounds and Borders with CSS 2.1. That article already describes how to emulate multiple background support and its demo page shows several other uses of the basic principle. This article presents a few of those effects and applications in greater detail. Emulating background-crop Known support: Firefox 3.5+, Opera 10+, Safari 4+, Chrome 4+, IE 8+ Demo: Pseudo background-crop Background image cropping can be emulated in modern browsers using only CSS 2.1. The principle behind a pseudo background-crop is to apply a background-image to a pseudo-element rather than the element itself. One example would be to crop an image to display in the background. Another would be to crop an image sprite to display icons alongside text in links. In several cases, using pseudo-elements may have advantages over existing, alternative techniques because it combines their strengths and avoids some of their weaknesses. Google, Facebook, and Twitter all make use of empty DOM elements to crop dense sprites and display icons next to certain links in their interfaces. The alternative is not to use empty elements but be forced into using multiple images and/or to design sub-optimal image sprites that have their component images spaced out. Pseudo-elements can be used in much the same way as empty DOM elements. This simultaneously eliminates the need for presentational HTML and doesn’t depend so heavily on an image sprite’s design. Using pseudo-elements for this purpose does have its own drawback – a lack of support in legacy browsers like IE6 and IE7. However, the technique will progressively enhance capable browsers while leaving a perfectly usable experience for incapable browsers. Example code: cropping a sprite This example shows how to crop icons that are part of a dense image sprite that uses a 16px × 16px grid. It uses a simple list and specifies a class for each type of action. <ul class="actions"> <li class="save"><a href="#">Save</a></li> <li class="delete"><a href="#">Delete</a></li> <li class="share"><a href="#">Share</a></li> <li class="comment"><a href="#">Comment</a></li> </ul> Styling can be applied to present this list in whatever way is needed. From that base, a pseudo-element can be created and then treated as you would an empty, inline DOM element (e.g. <span>). In this case, the :before pseudo-element is used and sized to match the sprite’s grid unit. It could be sized to whatever dimensions are required to match a section of the sprite that needs to be cropped. .actions a:before { content: ""; float: left; width: 16px; height: 16px; margin: 0 5px 0 0; background: url(sprite.png); } .save a:before { background-position: 0 -16px; } .delete a:before { background-position: 0 -32px; } .share a:before { background-position: 0 -48px; } .comment a:before { background-position: 0 -64px; } Providing hover, focus, active, and “saved” states is just a case of declaring the correct background position in each case. .save a:hover:before, .save a:focus:before, .save a:active:before { background-position: -16px -16px; } .saved a:before { background-position: -32px -16px; } Future alternatives In the future, there will be other alternatives. Firefox 3.6 added -moz-image-rect to allow background images to be cropped. But this is not supported by other browsers and looks likely to be replaced by an alternative proposal (to use fragment identifiers) that is part of the CSS Image Values Module Level 3 specification. As far as I know, no stable release of any modern browser supports the use of fragment identifiers with bitmap images at the time of writing. Emulating background-transform Known support: Firefox 3.6+, Opera 10.5+, Safari 4+, Chrome 4+, IE 9+ Demo: Pseudo background-transform Combining pseudo-elements and transforms makes it possible to emulate background transforms. A pseudo background-transform can be used to rotate, scale, and skew background images and sprites. There is no proposal for background-image transforms, so a pseudo-element hack is one way to emulate it. Example: rotating a background image The example of cropping sprites can be further developed by reducing the number of different images used in the sprite. Rather than applying transforms to images in a graphics package, they can be applied in the CSS. The code to do this is relatively simple and might look something like: .accordion a:before { content: ""; float: left; width: 16px; height: 16px; margin: 0 5px 0 0; background: url(sprite.png) no-repeat 0 0; } .accordion.open a:before { transform: rotate(90deg); } To apply a transform to a more conventional background image (e.g., a large graphic sitting behind some content that doesn’t affect the positioning of other components) requires use of the positioning technique detailed in the article Multiple Backgrounds and Borders with CSS 2.1. It involves setting the background image on a pseudo-element which is then positioned behind the content layer of an element using absolute positioning and z-index. Example: mirroring a background image There are instances when mirroring a background image might be desired. The approach is similar to that for rotating an image, but this time uses transform:scale(). Producing an exact mirror of an element or pseudo-element can be done using transform:scaleX(-1), transform:scaleY(-1), and transform:scale(-1,-1) to mirror along the x-axis, y-axis, and both axes, respectively. The following code is an example of how a pseudo background-transform might be used for pagination links. A pseudo-element displays a single image (or region of a sprite) and is then mirrored. The image’s appearance is such that a rotation cannot produce the desired counterpart. Only a scale operation can do it. .prev a:before, .next a:before { content: ""; float: left; width: 16px; height: 16px; margin: 0 5px 0 0; background: url(sprite.png) no-repeat 0 0; } .next a:before { float: right; margin: 0 0 0 5px; transform: scaleX(-1); } There is no support for this in IE 8. Even if you’re a fan of using IE filters to work around some missing CSS support, they won’t work on pseudo-elements. Future alternatives There don’t seem to be any future alternatives in any CSS working draft. For the moment, it looks like pseudo-element hacks will be needed to emulate effects like background transforms and background perspective without resorting to presentational HTML. Emulating background-position Known support: Firefox 3.5+, Opera 10+, Safari 4+, Chrome 4+, IE 8+ Demo: Pseudo background-position The CSS 2.1 specification limits the values of background-position to offsets from the left and top sides. It’s possible to emulate positioning a background image from the right and bottom sides by applying the background image to a pseudo-element and using it as an additional background layer. This hack is easily combined with the other hacks in this article. More details on the pseudo background-position hack can be found in the article on Multiple Backgrounds and Borders with CSS 2.1. Example code In this example, a pseudo-element is created and placed behind the element’s content layer. The background image is 500px × 300px and declared for the pseudo-element, which is also given dimensions that match those of the image. Since the pseudo-element is absolutely positioned, it can be positioned from the bottom and right of the element using offsets. #content { position: relative; z-index: 1; } #content:before { content: ""; position: absolute; z-index: -1; bottom: 10px; right: 10px; width: 500px; height: 300px; background: url(image.jpg); } Future alternatives There is a part of the CSS Backgrounds and Borders module working draft that describes an improvement to the background-position property to allow positions to be set from any side. At the moment, Opera 11 is the only stable release of a browser that has implemented it. Emulating background-opacity Known support: Firefox 3.5+, Opera 10+, Safari 4+, Chrome 4+, IE 9+ Demo: Pseudo background-opacity Changing the opacity of a pseudo-background is as simple as modifying the value of the opacity property. There is no IE 8 support for opacity and IE filters will not work on pseudo-elements. Example code This example code shows a pseudo-element being created and positioned behind the rest of the element’s content so as not to interfere with it. The pseudo-element is then sized to fit the element using offsets (but could be offset by other values or given an explicit size), given a background image, and has its opacity changed. #content { position: relative; z-index: 1; } #content:before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 0; right: 0; background: url(image.jpg); opacity: 0.7; } Notes For now, and as far as I am aware, using CSS 2.1 pseudo-elements is the only widely supported (and backwards compatible) way to emulate background image crop, background transform, background opacity, and improved background positioning with semantic HTML. Even when alternatives in CSS working drafts (e.g., the improved background-position and use of fragment identifiers) are widely implemented, pseudo-element background-image hacks will still have the advantage of letting you use other CSS properties like opacity, border-radius, border-image, box-shadow, transforms, etc., which may prove useful in certain situations. It can’t hurt to be aware of these options. It’s worth mentioning that although you can only generate 2 pseudo-elements from a DOM element, in many cases you can easily use descendant elements to provide more pseudo-elements to play with. This idea was used to help create the rotated example on the CSS drop-shadows demo page and several of the CSS3 examples at the bottom of the pure CSS speech bubbles demo page. Thanks to Mathias Bynens for reading and giving feedback on a draft of this article. Full Article
ba Mac OS X bootable backup drive with rsync By nicolasgallagher.com Published On :: Sun, 14 Aug 2011 17:00:00 -0700 I’ve started using a backup strategy based on that originally described by Jamie Zawinski and subsequently covered in Jeff Atwood’s What’s your backup strategy? article. It works by incrementally backing up your data to a bootable clone of your computer’s internal drive, in order to replace the internal drive when it fails. This script is maintained in my dotfiles repo. Please report problems or improvements in the issue tracker. This post is mainly to document – for myself as much as anything – the process I went through in order to implement an incremental backup strategy in OS X 10.6+. Use at your own risk. Feel free to suggest improvements if you know of any. Formatting and partitioning the drive With your backup drive in its enclosure, connect the drive to your Mac and open the Disk Utility application. Click on the disk’s name. This should bring up a “Partition” tab in the right panel. Click on the “Partition” tab. Under “Volume scheme” select the number of partitions you need. Probably “1 partition” if it is to match your internal disk. Under “Name” enter the volume name you want to use, e.g., “Backup”. Under “Format” select “Mac OS X Extended (Journaled)”, which is necessary if the disk is to be bootable. Click “Options” and check that “GUID Partition Table” is selected. Click “Apply”. This will format and partition the disk. The partition(s) should now show up in the Finder and on the Desktop. Enable ownership permissions The new partition needs permissions to be enabled to avoid chown errors when using rsync. To do this, select the partition and view its information page (using “Get Info” or Command+I). Expand the “Ownership & Permissions” section and uncheck “Ignore ownership on this volume” Backup script The backup script uses rsync – a fast and versatile file copying tool – to manage the copying and moving of data between volumes. You need to install rsync 3 (this is easily done using Homebrew: brew install https://raw.github.com/Homebrew/homebrew-dupes/master/rsync.rb). Rsync offers a wide variety of options and only copies the differences between the source files and the existing files in the destination, making it ideal for incremental backups. You can find out more about rsync in the rsync documentation The following is the contents of a script I’ve named backup. I’m using it to backup all of the data on my internal disk, with a specified set of exceptions contained within a file called .backupignore. #!/bin/bash # Disc backup script # Requires rsync 3 # Ask for the administrator password upfront sudo -v # IMPORTANT: Make sure you update the `DST` variable to match the name of the # destination backup drive DST="/Volumes/Macintosh HD/" SRC="/" EXCLUDE="$HOME/.backupignore" PROG=$0 # --acls update the destination ACLs to be the same as the source ACLs # --archive turn on archive mode (recursive copy + retain attributes) # --delete delete any files that have been deleted locally # --delete-excluded delete any files (on DST) that are part of the list of excluded files # --exclude-from reference a list of files to exclude # --hard-links preserve hard-links # --one-file-system don't cross device boundaries (ignore mounted volumes) # --sparse handle sparse files efficiently # --verbose increase verbosity # --xattrs update the remote extended attributes to be the same as the local ones if [ ! -r "$SRC" ]; then logger -t $PROG "Source $SRC not readable - Cannot start the sync process" exit; fi if [ ! -w "$DST" ]; then logger -t $PROG "Destination $DST not writeable - Cannot start the sync process" exit; fi logger -t $PROG "Start rsync" sudo rsync --acls --archive --delete --delete-excluded --exclude-from=$EXCLUDE --hard-links --one-file-system --sparse --verbose --xattrs "$SRC" "$DST" logger -t $PROG "End rsync" # Make the backup bootable sudo bless -folder "$DST"/System/Library/CoreServices exit 0 Adapted from the rsync script at Automated OSX backups with launchd and rsync This is the contents of the .backupignore file. .Spotlight-*/ .Trashes /afs/* /automount/* /cores/* /dev/* /Network/* /private/tmp/* /private/var/run/* /private/var/spool/postfix/* /private/var/vm/* /Previous Systems.localized /tmp/* /Volumes/* */.Trash Adapted from the excludes file at Automated OSX backups with launchd and rsync Every time the script runs, messages will be written to the system log. Check that the source (SRC) and destination (DST) paths in the script are correct and match the volume name that you chose when partitioning the disk. Wrapping the $SRC and $DST variables in double quotes ensures that the script will work even if your volume names contain spaces (e.g. “Macintosh Backup”). The command option --exclude-from tells the script where to find the file containing the exclude patterns. Make sure you either have .backupignore in the home directory or that you update this part of the command to reference the full path of the excludes file. Running the backup script You can run the script from the command line, or make it executable from the Finder or the Desktop: Type the following into the command line to ensure that you have permission to execute the script: chmod +x /path/to/rsync_backup.sh Remove the .sh extension from the script. Create an alias of the script and move it to the Desktop. Double click the icon to run the backup script. It’s important to run the script regularly in order to keep the backup in sync with your internal disk. If you have a desktop computer, or you never turn off your laptop, you can automate the running of the script by setting up a cron job. Checking the disk is bootable Once you’ve run the backup script, you should test that the backup disk is bootable. To do this, restart your computer and hold down the Alt/Option key. Your backup disk should be presented, with the volume name you chose, as a bootable disk. When I first booted my backup, the terminal displayed the following line: dyld: shared cached file was build against a different libSystem.dylib, ignoring cache According to this article, the fix for this is to update the cache by entering the following into the terminal: sudo update_dyld_shared_cache -force That should be everything you need to start implementing an incremental backup strategy when using OS X. Full Article